MySQL linux下的安装
- 下载包 - 1 - https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 
- 解压 - 1 
 2
 3
 4- tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 
 移动到local/mysql目录下
 sudo mv mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql
- 创建 data 目录 - 1 - mkdir data 
- 创建 MySQL 用户 并升级权限 - 1 
 2
 3- useradd mysql 
 chown -R mysql:mysql /usr/local/mysql
 chmod -R 755 /usr/local/mysql
- 初始化 - 1 - ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql   - 注意上面的红框是个初始的登录密码。 
- 启动并修改密码 - 1 
 2- cd support-files 
 ./mysql.server start
- 连接修改密码 - 在连接 MySQL 的时候出现依赖错误。 - 1 - ./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory  - 这里是少了一个依赖导致的,可以使用 ldd mysql 来查看 MySQL 对应的依赖:  - 从上图中可以看到,其中 - libtinfog.so.5依赖没有。- 这个文件一般在 - /etc/lib64/,如果没有需要重现下载,或者拷贝一个。 - 我本地是有的 6.0 ,直接创建一个同步链接就可以了: - 1 - sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5 
- 开始连接 - 1 - ./mysql -uroot -p 
- 修改密码和允许远程连接 - 1 
 2
 3
 4
 5
 6- # 修改密码 
 mysql>ALTER USER USER() IDENTIFIED BY 'yourpass';
 mysql>flush privileges
 mysql>use mysql;
 msyql>update user set user.Host='%' where user.User='root';
 mysql>flush privileges;
- 修改完还是无法连接 - 测试是否是防火墙拦截了,先停止防火墙试试 - 1 
 2
 3
 4
 5- 火墙的状态 
 firewall-cmd --state
 running
 systemctl stop firewalld
- 停止火墙后能够正常连接,说明是 MySQL 端口没有在防火墙中信任 - 1 
 2- firewall-cmd --add-port=3306/tcp --permanent 开放某一个端口号 
 systemctl restart firewalld 启动防火墙
