环境说明:

  系统版本:CentOS release 6.8 (Final)

  MySQL版本:mysql-8.0.18

  内存:63G

  空间:8T

1 配置本地yum仓库

这个只需要拷贝一个镜像,然后挂载镜像到某个目录,最后将哪个目录配置为yum仓库的目录即可

2 下载安装包:wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

3 解压安装包:tar -zxf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz -C /usr/local/mysql8

4 创建用户,MySQL数据目录和授权

mkdir /data/mysql8

useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql8

chown mysql:mysql /usr/local/mysql8/ -R

chown -R mysql:mysql /data/mysql8/

5 MySQL初始化

cd /usr/local/mysql8/

###  注意,生产环境中一般要设置忽略表名大小写。这个参数必须在初始化数据库时就要指定,否则在建库完成之后,在修改配置文件会报错

sudo bin/mysqld --initialize  --lower-case-table-names=1 --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql8  # 注意初始化命令执行后会生成一个临时root密码

sudo bin/mysql_ssl_rsa_setup --datadir=/data/mysql8    #生成密钥对

6 将MySQL服务添加到系统服务中

sudo cp support-files/mysql.server /etc/init.d/mysqld -r

vim /etc/init.d/mysqld    #修改配置文件中,指定数据目录和安装目录

datadir=/data/mysql8

basedir=/usr/local/mysql8

7 配置环境变量,使用命令

sudo vim /etc/profile   #文件末尾追加以下内容

#set MySQL
export PATH=$PATH:/usr/local/mysql8/bin:/usr/local/mysql8/sbin

source /etc/profile

8 启动MySQL服务,先删除配置文件

sudo rm -rf /etc/my.cnf

如果在初始化时指定了忽略大小写,则必须先在/etc/my.cnf配置文件中加上忽略大小写的选项,MySQL才能启动成功。如果没有指定,则可以忽略这一步

echo "[mysqld]" >> /etc/my.cnf

echo "lower-case-table-names=1" >> /etc/my.cnf

echo "default_authentication_plugin=mysql_native_password" >> /etc/my.cnf

sudo /etc/init.d/mysqld start

#使用临时密码登陆数据库

mysql -uroot -p临时密码

登陆之后立即修改数据库的密码:

mysql>ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';

刷新权限表:

mysql>flush privileges;

9 使用新修改的root密码登录MySQL,并给新用户授权

https://www.cnblogs.com/xxsl/p/10791137.html

mysql -uroot -p新密码

mysql>user mysql;

mysql>create user testuser@'%' identified by 'testuser';

mysql>grant all privileges on *.* to 'testuser'@'%' with grant option;

mysql>flush privileges;

10 配置MySQL配置文件 /etc/my.cnf

先停止服务:

/etc/init.d/mysqld stop

在修改配置文件:

vim /etc/my.cnf

[mysqld]

datadir=/data/mysql8
basedir=/usr/local/mysql8
user=mysql

socket=/data/mysql8/mysql.sock

## Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
## instructions in http://fedoraproject.org/wiki/Systemd
#[mysqld_safe]
log-error=/data/mysql8/mysql.log
pid-file=/data/mysql8/mysql.pid

11 重启MySQL,使用root连接

报错显示找不到套接字文件,做一个软连接

ln -s /data/mysql8/mysql.sock /tmp/mysql.sock

再次登陆成功

mysql -uroot -p新密码

登陆,可以成功查看

12  设置MySQL服务为开机自启动

chkconfig mysqld on

chkconfig --list |grep mysqld

13 使用客户端navicat连接 总是报错1251;

之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,直接去连接Navicat会报错1251

解决办法:

在/etc/my.cnf中添加:default_authentication_plugin=mysql_native_password

然后在数据库中修改testuser的认证方式:

https://blog.csdn.net/u011182575/article/details/80821418

重启数据库:service mysqld restart

报错二:mysql8完成安装后,优化参数忽略表名大小写时报错如下

具体优化步骤如下:

1 关闭MySQL服务  /etc/init.d/mysqld stop

2 修改配置文件,添加忽略表明大写的参数

vim /etc/my.cnf

在[mysqld]下面配置如下参数

lower_case_table_names=1

3 重启MySQL服务器:/etc/init.d/mysqld start

报错如下:

4 具体解决办法:查阅官方文档后发现,如果要让忽略表名大小写的配置生效,则必须在数据库初始化时指定此参数。

  如果数据比较重要,则可以先进行数据库全库备份。

  然后在删除数据库

  重新初始化数据库,执行忽略表名大小写的参数值为1

最新文章

  1. 如何写出优雅的Python(二)
  2. iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束
  3. Parencodings(imitate)
  4. (leetcode)Summary Ranges
  5. linux进程调度方法(SCHED_OTHER,SCHED_FIFO,SCHED_RR)
  6. Ax Lookup Form
  7. WaitForTargetFPS
  8. myeclipse、eclipse中项目复制后(可能无法访问)注意事项 .
  9. (一)、http原理
  10. DataContext 数据在F5刷新频繁,会出现数据读取错误
  11. C# 内存管理优化畅想(二)---- 巧用堆栈
  12. 在ec2上创建root用户,并使用root 通过Xshell远程登录aws云服务器
  13. [汇编语言]-第二章寄存器(CPU工作原理)
  14. 解决ListView 和ScroolView 共存 listItem.measure(0, 0) 空指针
  15. java对象大小
  16. IFE第一天
  17. Visual studio 配置
  18. Chen qiaoqiao Studio
  19. 【洛谷P1303 A*B Problem】
  20. 滴水穿石-08IO

热门文章

  1. wtforms 简单使用
  2. json字符串转成 json对象 json对象转换成java对象
  3. spring data 返回任意字段
  4. Next Closest Time
  5. 2019中山纪念中学夏令营-Day4[JZOJ]
  6. 使用history.js解决浏览器对history使用的兼容问题
  7. 导出excel-NPOI
  8. vue项目打包后在IE浏览器报错,页面显示空白
  9. 1.什么是bat文件
  10. shell判断文件,目录是否存在或者具有权限