1.下载安装包
2.安装MySQL
将下载好的安装包上传到服务器, 然后解压
tar -xvf mysql-8.0.16-el7-x86_64.tar.gz
然后将解压目录重命名为mysql-8.0.16
mv mysql-8.0.16-el7-x86_64 mysql-8.0.16
在mysql下创建data 和logs 目录
创建mysql用户组和mysql用户
groupadd mysql
groupadd mysql
groupadd mysql /etc/mysql-8.0.16
更改mysql安装文件夹mysql-8.0.16/的权限
chmod -R 755 /etc/mysql-8.0.16
创建vi my.cnf
[client]
socket=/aifs01/tools/mysql-8.0.16/data/mysql.sock
port = 3306
[mysqld]
basedir=/aifs01/tools/mysql-8.0.16/
datadir=/aifs01/tools/mysql-8.0.16/data
socket=/aifs01/tools/mysql-8.0.16/data/mysql.sock
port = 3306
innodb_buffer_pool_size = 3G
max_connections = 1000
wait_timeout = 600
interactive_timeout = 600
log_bin=/aifs01/tools/mysql-8.0.16/logs
pid-file=/aifs01/tools/mysql-8.0.16/data/mysql.pid
server-id=16
binlog_format=mixed
character_set_server=utf8
skip-name-resolve
autocommit = 1
sort_buffer_size = 32M
join_buffer_size = 128M
tmp_table_size = 72M
max_allowed_packet = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 32M
lower_case_table_names = 1
#skip_networking
table_open_cache = 400
thread_cache_size=768
key_buffer_size=32M
read_buffer_size=8M
read_rnd_buffer_size=4M
back_log=1024
#flush_time=0
open_files_limit=65535
table_definition_cache=1400
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_throttle_queries_not_using_indexes = 10
expire_logs_days = 90
min_examined_row_limit = 100
innodb_log_file_size = 200M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
secure_file_priv=’’
[mysqld_safe]
log-error=/aifs01/tools/mysql-8.0.16/logs/mysql-error.log
进入数据安装目录下初始化
./bin/mysqld --initialize --user=root --basedir=/etc/mysql-8.0.16 --datadir=/etc/mysql-8.0.16/data
(–user=root 这个用户看个人情况,最好是在普通用户下创建数据库,如果使用root前面就没必要新建用户了)
执行的时候报错:
解决方法:
yum install -y libaio //安装后在初始化就OK了
安装完后又报错
yum -y install numactl
执行的时候报错
./bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./mysqld)
这个是动态库版本低,查看系统glibc支持的版本:
strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE
rpm -qa |grep glibc
glibc-static-2.12-1.80.el6_3.6.x86_64
glibc-headers-2.12-1.80.el6_3.6.x86_64
glibc-common-2.12-1.80.el6_3.6.x86_64
glibc-devel-2.12-1.80.el6_3.6.x86_64
glibc-static-2.12-1.80.el6_3.6.i686
glibc-devel-2.12-1.80.el6_3.6.i686
glibc-2.12-1.80.el6_3.6.i686
glibc-2.12-1.80.el6_3.6.x86_64
具体解决方法查看https://blog.csdn.net/a1035082174/article/details/100552784
然后重新执行初始化发现又报错
ll /usr/lib64/libstdc++.so.6
cp /home/libstdc++.so.6.0.19 /usr/lib64/
rm -rf /usr/lib64/libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.19 /usr/lib64/libstdc++.so.6
strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
出现这个不影响 可以直接去安装数据库了 (hodfb%nwI99b为root的初始密码)
./mysqld --initialize --user=root --basedir=/etc/mysql-8.0.16 --datadir=/etc/mysql-8.0.16/data
添加系统路径
vim /etc/profile
export PATH=/etc/mysql-8.0.16/bin:$PATH
source /etc/profile
开机自启
cd /etc/mysql-8.0.16/support-files
cp mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
修改启动脚本
vi /etc/init.d/mysqld
修改里面的datadir= basedir= 为你mysql的实际的部署目录具体查看你的mysql的配置文件
查看初始密码
初始化成功执行后关注最后一点:root@localhost: 这里就是初始密码
启动数据库
service mysqld start
出现这个错误查看日志
这个是设置表名不区分大小写的,但是如果注掉以后在要设置的时候MySQL8.0是无法重新设置的。此时建议把datadir配置目录下的内容全部删除,重新初始化
进入命令行
mysql -uroot –p
输入你查看的初始密码进入
出现这个以后在配置文件my.cnf中添加default_authentication_plugin = mysql_native_password
然后删除datadir配置目录下的内容,重新初始化数据库‘
./mysqld --initialize --user=mysql --basedir=/etc/mysql-8.0.16 --datadir=/etc/mysql-8.0.16/data
终于可以正常登录了,进来以后先修改root的密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root@2019’;
create database tacs_user default character set utf8; 创建数据库
CREATE USER 'user'@'%' IDENTIFIED BY 'user123'; 创建用户
使用navicat登录MySQL发现报错
没有开启远程连接,先创建远程连接
use mysql;
select host,user,authentication_string, plugin from user;
修改加密方式
update user set plugin=‘mysql_native_password’ where user=‘root’;
修改连接权限
update user set host=’%’ ,authentication_string="" where user=‘root’; 此处密码置为空
重启数据库
service mysqld restart
修改密码
ALTER USER ‘root’@’%’ IDENTIFIED BY ‘root@2019’;
授权远程连接
grant all on *.* to 'root'@'%'with grant option;
刷新权限
flush privileges;
撤销权限
revoke all privileges on . from ‘monitor’@’%’;
flush privileges;
升级glibc库后,使用xshell登录linux,提示:
执行locale命令,提示如下异常,说明说明没安装en_US的local
解决方案,修改如下:
vi /etc/sysconfig/i18n
# 添加下面的
LC_ALL=C
export LC_ALL
再执行下面的语句,使之生效
source /etc/sysconfig/i18n