1、先增加 mysql 组
groupadd mysql
2、将mysql 用户添加到组中
useradd -r -g mysql mysql
3、将MySQL的tar.gz包解压
tar-zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
4、进入MySQL目录并将目录的所有文件拷贝到/usr/local/mysql下
sudo mkdir /usr/local/mysql
cd mysql-5.7.22-linux-glibc2.12-x86_64
sudo cp -r ./ /usr/local/mysql
5、更改目录的权限
cd /usr/local/mysql
chown -R mysql:mysql ./
6、创建data目录
sudo mkdir data
更改权限
sudo chown -R mysql:mysql data
7、初始化数据库
sudo ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
此时报错,报错信息如下:
./mysqld: error while loading shared libraries: libaio.so.1: cannot open sharedobject file: No such file or directory
解决方法为:
安装libiao-dev
sudo apt-get install libaio-dev
8、编辑/etc/my.cnf文件
[client]
port = 3306
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
##########################
# summary
##########################
bind-address = 0.0.0.0
port = 3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data/mysql
socket=/var/lib/mysql/mysql.sock
tmpdir = /tmp/mysql
pid-file=/tmp/mysql/mysqld.pid
此时可能会出现各种访问权限问题,这个时候就需要更改下相关目录的权限
先创建文件夹:
sudo mkdir /tmp/mysql
sudo chown -R mysql:mysql /tmp/mysql
sudo chmod -R 775 /tmp/mysql
sudo mkdir /var/lib/mysql
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 775 /var/lib/mysql
9、安装结果
如果出现报错:
2018-06-11T14:09:18.109556Z0 [Warning] Failed to open optimizer cost constant tables
2018-06-11T14:09:18.109656Z 0 [ERROR] Fatal error: Can't open and lockprivilege tables: Table 'mysql.user' doesn't exist
可以删掉data目录,重新安装
如果出现如下信息,说明安装成功:
2018-06-11T14:20:19.528726Z 1 [Note] A temporary password is generated forroot@localhost: 4sqKvyO8Hr*/
10、添加服务
cp support-files/mysql.server /etc/init.d/mysql
11、启动服务
service mysql start
如果启动失败,可以用下面的命令
sudo systemctl start mysql.service
启动时报错:
The server quit without updating PID file (/usr/local/mysql/data/mysqld.pid
应全面检查mysql涉及的文件目录是否有权限,以及mysql的配置文件/etc/my.cnf
12、查看服务的状态
service mysql status
13、更改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '878077' PASSWORD EXPIRE NEVER;
至此,所有安装结束。
大家安装的时候遇到问题,多看报错日志,多看百度。mysql的安装不是很难,一般的报错网上都是有解决方案的。