liunx 服务器下面安装mysql8.0
闲来无事,准备自己搭建一个服务器高点事情,不可避免的就是需要使用到 mysql 数据库了。在 Linux 系统安装 MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程和遇到的问题都记录下来。
需要说明的一点是我使用的是 ssh 工具连接的腾讯云 linux 系统的,它的用法和命令窗口差不多,一样的使用 Linux 命令操作。
废话不多说了,下面直接开干。
一、安装包及安装路径准备
1、切换目录到 /usr/local 目录下,创建 mysql 文件夹。
1 cd /use/loca 2 mkdir mysql
2、切换到 mysql 目录下,下载 mysql8.0 的安装包
1 cd mysql 2 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
注:如果下载安装包的时候网络不是很好,或者其他的原因下载失败,我们也可以在官网直接下载对应的 liunx 版本到我们的 windows 系统中,通过 ftp 工具上传到服务器的 /usr/local/mysql 目录下。
3、解压我们刚刚下载的 mysql 安装包,然后把解压后的文件目录名称修改成更加简洁的 mysql8.0
1 tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 2 mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0
4. 在 /usr/local/mysql 目录下面创建 data 目录,用来存储 mysql 的文件数据;创建一个文件用来存放 mysql 通用日志,
1 mkdir data
2 touch mysql.log
二、创建 liunx 用户组及用户信息,用来启动 mysql
1、分别创建用户组以及用户和密码
1 groupadd mysql 2 useradd -g mysql mysql
注:如果在创建时提示已存在,说明服务器目前是存在这个用户组或用户,可以直接跳过这一步。
2、对刚刚创建的用户进行授权
1 chown -R mysql.mysql /usr/local/mysql/mysql-8.0 2 chown -R mysql.mysql /usr/local/mysql/mysql.log 3 chmod 750 /usr/local/mysql/data -R
三 、配置 mysql 启动的环境
1、编辑 /etc/profile 文件,配置 mysql 的全局环境变量
1 vim /etc/profile
打开文件后,在最后一行加上:
export PATH=$PATH:/usr/local/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib
然后退出保存。
2、编辑 mysql 配置文件 my.cnf 内容
1 vim /etc/my.cnf
然后再文件内复制以下内容直接覆盖
[mysql] default-character-set=utf8mb4 [client] #port=3306 socket=/var/lib/mysql/mysql.sock[mysqld]
#port=3306
#server-id=3306
user=mysql
general_log = 1
general_log_file= /usr/loacl/mysql/mysql.log
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/data
log-bin=/usr/local/mysql/data/mysql-bin
innodb_data_home_dir=/usr/local/mysql/data
innodb_log_group_home_dir=/usr/local/mysql/data/
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0Disabling symbolic-links is recommended to prevent assorted security risks
Settings user and group are ignored when systemd is used.
If you need to run mysqld under a different user or group,
customize your systemd unit file for mariadb according to the
instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe] log-error=/usr/local/mysql/data/mysql.log pid-file=/usr/local/mysql/data/mysql.pidinclude all files from the config directory
注:做完前面全部的三大步骤,我们安装前的准备工作已经完成了,接下来就可以开始初始化基础信息(安装)了
四、mysql 的初始化工作
1. 把目录切换到 mysql 的 bin 目录下
cd /usr/local/mysql/mysql-8.0/bin
2. 初始化基础信息,得到数据库的初始密码,并记录下密码。
1 ./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/data/ --initialize
3. 复制 mysql.server 文件,在 /usr/local/mysql/mysql-8.0 目录下执行
1 cp -a ./support-files/mysql.server /etc/init.d/mysql 2 cp -a ./support-files/mysql.server /etc/init.d/mysqld
4. 赋予权限
1 chown 777 /etc/my.cnf 2 chmod +x /etc/init.d/mysql 3 chmod +x /etc/init.d/mysqld
5. 检查一下 /var/lib/mysql 是否存在,否则进行创建, 然后再赋予权限
1 mkdir /var/lib/mysql 2 chown -R mysql:mysql /var/lib/mysql/
6. 启动服务的工作就全部准备好了,现在我们切换 mysql 用户来启动 mysql
1 service mysql start
注: 如果发现启动失败,可以先查看 data 里面的 mysql.log,如果有提示 3306 这样的字样,第一个想到的应该是端口被占用,使用 lsof -i: 端口号,查看是哪个 PID(进程号)占用了该端口,然后使用 kill PID(进程号)杀掉进程,重新执行 service mysql start。
五、mysql 的启动工作已经完成,现在我们可以来登录 mysql,修改 root 账号密码
1. 修改数据库 root 账号的密码。
1 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; 2 flush privileges;
2. 设置可以远程访问(因为 root 默认是不能远程访问的)
1 use mysql; 2 update user set host='%' where user='root'; 3 flush privileges;
最后就可以使用 root 账号去登录 mysql 了。如果有遇到问题的小伙伴评论留言,文中如有遗漏错误,欢迎指正。
QQ:503900746