一. 下载并解压tar包
通过下面网址下载 ,注意需要登录oracle网站后,才能下载。
https://dev.mysql.com/downloads/mysql/


mkdir -p /root/mysql
tar -xvf mysql-8.0.45-1.el8.x86_64.rpm-bundle.tar -C /root/mysql
二. 安装部署包
注意,要按下面的顺序安装,不然会出错。
安装顺序:common->(client-plugins)->libs->client->(icu-data-files)->server
rpm -ivh mysql-community-common-8.0.45-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.45-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.45-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.45-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.45-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.45-1.el8.x86_64.rpm
说明:
-i: ---install。 安装软件包
-v: -verbose。 提供更多的详细信息输出
-h: -hash。 软件包安装的时候列出hash标记,展示进度条
如下显示,安装完成:
mysql --version

三. 解决mysql表名大小写敏感的问题
1、停止MySQL systemctl stop mysqld
2、删除数据目录,即删除 /var/lib/mysql 目录
rm -rf /var/lib/mysql
3、在MySQL配置文件( /etc/my.cnf )中添加
lower_case_table_names=1
4、启动 MySQL systemctl start mysqld
四. 修改数据库密码
1.查看默认生成的密码
cat /var/log/mysqld.log | grep password

2.用临时密码登录mysql
mysql -uroot -p'?kwtGt2CIg1&'
- 修改root账号密码。密码为:my@Passwrod
ALTER USER 'root'@'localhost' IDENTIFIED BY 'my@Passwrod';
4.更新数据库
FLUSH PRIVILEGES;
- 退出数据库,用新密码登录mysql
exit;
mysql -uroott -p'my@Passwrod'
五. 设置远程
- 切换数据库到mysql
use mysql;

- 查看user表中的用户
select host,user,authentication_string from user;

3.授权root远程登录
update user set host='%' where user ='root';

4.刷新权限
flush privileges;

- 退出mysql环境,并重启mysqle服务。
exit;
systemctl restart mysqld
六. 设置开机自启动
1.查看开机是否能自启动
systemctl list-unit-files |grep mysqld

- 设置开机自动启动
systemctl enable mysqld
3.设置开机不自动启动
systemctl disable msyqld
七.修改数据存放位置
- 停止mysql服务
systemctl stop mysqld
- 新建数据存放目录,注意其目录的访问权限
# 创建新目录(示例:/data/mysql)
sudo mkdir -p /data/mysql
# 设置正确的所有者
sudo chown -R mysql:mysql /data/mysql
# 设置权限
sudo chmod 750 /data/mysql
- 修改配置文件,
[mysqld]和[client]两处的socket路径必须保持一致!
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
[client]
socket=/data/mysql/mysql.sock
4.**处理SELinux,**麒麟系统关键
# 检查SELinux状态
getenforce
如果返回 Enforcing,执行以下命令,如是 Disabled, 此此可省。
bash
# 安装管理工具(如果没有)
sudo yum install -y policycoreutils-python-utils
# 为新目录设置正确的SELinux上下文
sudo semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"
sudo restorecon -Rv /data/mysql
- 初始化数据库(非常重要!)
因为目录是空的,MySQL需要重新初始化系统表:
sudo mysqld --initialize --user=mysql --datadir=/data/mysql
如果上面命令报错,尝试
sudo mysqld --initialize-insecure --user=mysql --datadir=/data/mysql
初始化完成后,重启mysql服务。
systemctl restart mysqld
- 按前面第四点,查临时密码,登录mysql后,再重置数据库密码
cat /var/log/mysqld.log | grep password

mysql -uroot -p'e_!TUws_r3g;'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'my@Passwrod';
FLUSH PRIVILEGES;
7.验证
# 查看数据目录
ls -la /data/mysql
# 应该能看到 auto.cnf, ib_buffer_pool, ibdata1, mysql, performance_schema 等文件和目录
# 查看进程
ps aux | grep mysql
# 应该能看到 mysqld 进程,且 datadir 指向 /data/mysql
# 查看端口
sudo netstat -tulnp | grep 3306