Linux上安装MySQL5.7
Linux上安装MySQL5.7
在Linux上使用解压缩安装包的方式安装MySQL,版本是:mysql5.7.35,CentOS7.9
下载安装包,复制到/opt/mysql5.7目录下
解压mysql5.7安装包
切换到安装包目录,执行:tar -xvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
[root@CentOS7 mysql5.7]# tar -xvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
mysql-5.7.35-linux-glibc2.12-x86_64/bin/myisam_ftdump
mysql-5.7.35-linux-glibc2.12-x86_64/bin/myisamchk
mysql-5.7.35-linux-glibc2.12-x86_64/bin/myisamlog
...
mysql-5.7.35-linux-glibc2.12-x86_64/support-files/mysql.server
mysql-5.7.35-linux-glibc2.12-x86_64/docs/INFO_BIN
mysql-5.7.35-linux-glibc2.12-x86_64/docs/INFO_SRC
解压完成后生成文件夹,输入ll查看:
[root@CentOS7 mysql5.7]# ll
drwxr-xr-x. 9 root root 129 11月 13 10:36 mysql-5.7.35-linux-glibc2.12-x86_64
-rw-r--r--. 1 root root 666328842 11月 13 09:32 mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
移动到/usr/local
将文件夹重命名并移动到/usr/local/mysql目录:
// 若/usr/local/mysql已存在,则需要删除后在执行以下命令
mv mysql-5.7.35-linux-glibc2.12-x86_64 /usr/local/mysql
// 在/usr/local/mysql目录下创建新目录:
[root@CentOS7 mysql]# mkdir -p ./data
// 授权 chown [用户]:[用户组] -R [目录]
[root@CentOS7 mysql]# chown root:root -R /data
编辑MySQL默认配置文件
// 编辑配置文件
[root@CentOS7 mysql]# vim /etc/my.cnf
// 一定要输入i/a/o后在编辑模式下复制,直接复制可能不生效
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/
datadir=/data/
socket=/tmp/mysql.sock
log-error=/data/mysql.err
pid-file=/data/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
数据库初始化
// 进入/usr/local/mysql/bind目录
[root@CentOS7 bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data--user=root --initialize
// 先将mysql.server放置到/etc/init.d/mysql中
[root@CentOS7 bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
// 这项配置使得操作mysql不需要切换到bin目录
[root@CentOS7 bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin
启动MySQL
// 查看初始密码,直接看最后一条,直接复制密码
[root@CentOS7 bin]# cat /data/mysql.err
2021-11-13T02:43:09.081895Z 0 [Warning] InnoDB: New log files created, LSN=45790
...
2021-11-13T02:43:09.861196Z 1 [Note] A temporary password is generated for root@localhost: flMxTwiq,5Bd
//启动MySQL
[root@CentOS7 bin]# service mysql start
Starting MySQL. SUCCESS!
登录
// 登录MySQL,粘贴刚才复制的密码即可
[root@CentOS7 bin]# ./mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.35
...
登录后修改密码
// 执行这三条命令:设置密码、到期时间、刷新权限信息
mysql>
mysql> SET PASSWORD = PASSWORD('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
远程连接
当前host不允许远程连接,执行以下命令
//登录mysql,执行下面的命令
mysql>
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set host = '%' where user = 'root'
-> ;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
此时再进行远程连接就可以了。