1,下载安装包mysql-5.7.24-linux-glibc2.12-x86_64
2,查看linux下是否已经存在mysql和mariadb,删除
rpm -qa | grep mysql
find / -name mariadb
rm -rf {目录名}
3,上传安装包mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz到/usr/local/目录
4,解压安装包mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz并修改文件夹名称
cd /usr/local
tar xvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
5,创建数据存储目录
mkdir /usr/local/mysql/data
6,先查看并删除旧的用户
cat /etc/group | grep mysql(有就执行下一步删除,没有则忽略)
userdel -r mysql
7,创建mysql组和用户
groupadd mysql
useradd -r -g mysql mysql
8,修改目录拥有者
chown -R mysql: mysql /usr/local/mysql
9,创建相关配置文件目录,设置用户组及用户并授权
创建/tmp/mysql.sock
touch /tmp/mysql.sock
chown -R mysql:mysql /tmp/mysql.sock
chmod 755 /tmp/mysql.sock
创建/tmp/mysqld/mysqld.pid
mkdir /tmp/mysqld
touch /tmp/mysqld/mysqld.pid
chown -R mysql:mysql /tmp/mysqld
chmod 755 /tmp/mysqld/mysqld.pid
创建/var/log/mysqld.log
touch /var/log/mysqld.log
chown -R mysql:mysql /var/log
chmod 755 /var/log/mysqld.log
10,修改配置文件
vim /etc/my.cnf
文件模板:注意要在模板的 [mysqld] 下面去修改
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server = utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld/mysqld.pid
[client]
socket=/tmp/mysql.sock
default-character-set=utf8
12,初始化安装mysql数据库
./usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
如果报错:
(./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory)
yum -y install numactl
./usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
13,安全启动(‘&’后台运行)
./mysqld_safe --user=mysql &
14,回车进入bin目录,查看mysql进程,启动是否成功
ps -ef | grep mysql
15,查询mysql的root账户默认密码(密码在root@localhost:后面)
cat /var/log/mysqld.log
16,服务器首次登陆mysql的root账户
[root@localhost ~]# mysql -u root -p
Enter password:
17,首次登陆需要修改密码,PASSWORD为user表中密码列的列名,'xxxxxx'为新密码,‘root’为账户名
mysql> use mysql;
mysql> UPDATE user SET password=PASSWORD('xxxxxx') WHERE user='root';
mysql> flush privileges;
mysql> quit;
18,mysql允许远程访问, root为用户名 @后为适用的主机,‘%’表示所有电脑都可以访问连接,pwd 为密码
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'xxx.xxx.xxx.xxx' IDENTIFIED BY 'pwd' WITH GRANT OPTION;
mysql> flush privileges;
mysql> quit;