安装准备:
安装步骤:
- 下载好的安装包直接上传到服务器,(rz 命令或者xshell等工具)
- 下载地址1:https://dev.mysql.com/downloads/mysql/
- 下载tar包 https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar
- 在/usr/local目录下新建目录mysql
首先查看之前是否有安装过mysql的服务(像我就前前后后失败好几次) ```bash rpm -qa | grep mariadb # 命令查看 mariadb 的安装包 是否有内容输出cd /usr/local
mkdir mysql
如果有 直接卸载
rpm -e mariadb-libs-xxx-xxx # 卸载mariadb在查看是否有内容输出,有就继续卸载 直到没有为止
rpm -qa | grep mariadb
检查 MySQL 是否已安装
yum list installed | grep mysql 如果有的话 就全部卸载 yum -y remove +数据库名称
解压mysql8安装包
```bash
5. 解压缩mysql离线安装包
tar -xvf mysql-8.0.23-2.el7.x86_64.rpm-bundle.tar
# 解压出这些文件
mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
mysql-community-test-8.0.16-2.el7.x86_64.rpm
mysql-community-client-8.0.16-2.el7.x86_64.rpm
mysql-community-common-8.0.16-2.el7.x86_64.rpm
mysql-community-devel-8.0.16-2.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm
mysql-community-libs-8.0.16-2.el7.x86_64.rpm
mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
mysql-community-server-8.0.16-2.el7.x86_64.rpm
- 4 安装
```bash
需要依次安装
rpm -ivh mysql-community-common-8.0.26-1.el8.x86_64.rpm —nodeps —force rpm -ivh mysql-community-libs-8.0.26-1.el8.x86_64.rpm —nodeps —force rpm -ivh mysql-community-client-8.0.26-1.el8.x86_64.rpm —nodeps —force rpm -ivh mysql-community-server-8.0.26-1.el8.x86_64.rpm —nodeps —force rpm -ivh mysql-community-libs-compat-8.0.26-1.el8.x86_64.rpm —nodeps —force rpm -ivh mysql-community-embedded-compat-8.0.26-1.el8.x86_64.rpm —nodeps —force rpm -ivh mysql-community-devel-8.0.26-1.el8.x86_64.rpm —nodeps —force 【非必须安装】 rpm -ivh mysql-community-test-8.0.26-1.el8.x86_64.rpm —nodeps —force
<a name="w7sJT"></a>
### 设置忽略大小写配置
```sql
mysql安装完在启动前修改 /etc/my.cnf文件,
添加配置:lower_case_table_names=1
5 初始化, 生成密码 启动服务
mysqld --initialize; # 修改目录权限 sudo chown mysql:mysql /var/lib/mysql -R; # 启动服务 systemctl start mysqld # 产看密码 cat /var/log/mysqld.log | grep password
6 修改密码 ```shell mysql -u root -p ‘原来的密码’ # 登陆 use mysql; # 选择数据库 ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的新密码’;
//mysql5.8专用修改语法 ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘你的新密码’;
mysql> use mysql; Database changed mysql> select user,host from user; +—————————+—————-+ | user | host | +—————————+—————-+ | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +—————————+—————-+ 4 rows in set (0.00 sec)
//确定@后面加的到底是localhost 还是 @ //保险起见,最好是全部手动输入,防止有些粘贴的格式问题 mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED with mysql_native_password BY ‘123456’; Query OK, 0 rows affected (0.02 sec)
mysql> FLUSH Privileges; Query OK, 0 rows affected (0.01 sec)
<a name="Ejrr6"></a>
## 查询MySQL是否设置了区分大小写
```sql
show variables like "%case%";
其中lower_case_table_names代表了:0是区分大小写; 1是不区分大小写。显然我这个MySQL是区分大小写的。
报错1:run mysqld as root:
Mysql启动错误:Please read “Security” section of the manual to find out how to run mysqld as root!
解决办法:
加入启动参数—user=[username]
配置my.cnf,加入user=mysql意思是使用用户名mysql运行mysqld服务器
启动mysqld服务器带—user=mysql参数
mysqld --user=mysql --initalize;
报错2:mysql error : libaio.so.1
解决办法:
linux libaio.so.1: cannot open shared object file: No such file or directory
缺少安装包libaio和libaio-devel.
命令行
yum install libaio*。自动安装这两个包
报错3:登录mysql 报错ERROR 1820 (HY000):
You must reset your password using ALTER USER ……
原因:首次登录mysq时报1820的错误,是因为安装好mysql时密码有一个指定的默认值,需要重置密码才能正常使用数据库,下面是解决该错误的方案:
在cmd下进入mysql安装的bin目录,登录mysql数据库:
mysql -hlocalhost -uroot -p
注:如果忘记初始密码的话,参考:https://www.cnblogs.com/wxdblog/p/6864475.html
输入登录密码;
在mysql 8.0命令下执行:
mysql> alter user 'root'@'localhost' identified by 'youpassword';
刷新权限让修改的数据文件立即生效:
mysql>flush privileges;
报错4:creat date unusable
启动mysql报错: 2021-01-14T10:48:08.040891Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.15) initializing of server in progress as process 8760 2021-01-14T10:48:08.042863Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting. 2021-01-14T10:48:08.042896Z 0 [ERROR] [MY-013236] [Server] Newly created data directory /var/lib/mysql/ is unusable. You can safely remove it. 2021-01-14T10:48:08.042934Z 0 [ERROR] [MY-010119] [Server] Aborting 2021-01-14T10:48:08.043175Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15) MySQL Community Server - GPL. 2021-01-14T10:48:08.384884Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 8765 2021-01-14T10:48:08.394981Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory. 2021-01-14T10:48:08.395170Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. 2021-01-14T10:48:08.395248Z 0 [ERROR] [MY-010119] [Server] Aborting 2021-01-14T10:48:08.396025Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15) MySQL Community Server - GPL.
解决办法:
清空该目录,在启动mysql,一切正常 ```bash //清空目录 rm -rf /var/lib/mysql/* //启动mysql systemctl start mysqld
[root@host-10-197-162-52 mysql]# systemctl status mysqld ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2021-01-14 19:01:35 CST; 3min 54s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 10902 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 10983 (mysqld) Status: “SERVER_OPERATING” CGroup: /system.slice/mysqld.service └─10983 /usr/sbin/mysqld
Jan 14 19:01:23 host-10-197-162-52 systemd[1]: Starting MySQL Server…
Jan 14 19:01:35 host-10-197-162-52 systemd[1]: Started MySQL Server.
[root@host-10-197-162-52 mysql]#
```
//参考文章:
https://blog.csdn.net/wgPython/article/details/95202117
https://blog.csdn.net/a332056918/article/details/87803901