Linux中部署Mysql (8.0.16版本)

1.下载安装包

访问下面的地址然后根据提示进行下载安装包

https://www.mysql.com/

在这里插入图片描述

在这里插入图片描述

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 、mysqld目录

cd mysql-8.0.16

mkdir data logs mysqld

创建mysql用户组和mysql用户

groupadd mysql

useradd -r -g mysql mysql

更改mysql-8.0.16的权限

chown -R mysql:mysql mysql-8.0.16

创建配置文件

vi  my.cnf

将下面内容替换为实际路径后,添加到my.cnf文件内

[mysqld]
socket=/tmp/mysql.sock
port = 3326
default-time_zone = '+8:00'
basedir=/etc/mysql-8.0.16
datadir=/etc/mysql-8.0.16/data
innodb_buffer_pool_size = 3G
max_connections = 1000
wait_timeout = 600
interactive_timeout = 600
log_bin=/etc/mysql-8.0.16/logs
pid-file=/etc/mysql-8.0.16/mysqld/mysql.pid
server-id=16
binlog_format=mixed
character_set_server=UTF8MB4
#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_throttle_queries_not_using_indexes = 10
binlog_expire_logs_seconds=30
min_examined_row_limit = 100
#slow-query-log=0
innodb_log_file_size = 200M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
secure_file_priv=''
#skip-grant-tables
skip-name-resolve #禁止MySQL对外部链接进行DNS解析skip-grant-tables 

[mysqld_safe]
log-error=/etc/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

执行的时候报错:
在这里插入图片描述

解决方法:

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

查看glibc的rpm安装包

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的my.cnf文件

在这里插入图片描述

初始密码为初始化成功后的root@localhost: 这里就是初始密码
在这里插入图片描述
启动数据库

service mysqld start

启动的时候报错如下:
在这里插入图片描述
出现这个错误查看日志

在这里插入图片描述

这个是设置表名不区分大小写的,但是如果注掉以后在要设置的时候MySQL8.0是无法重新设置的。此时建议把datadir配置目录下的内容全部删除,重新初始化
在这里插入图片描述
如果报错不是上述情况 ,也可以尝试重新把mysql-8.0.16文件重新授权给mysql用户,然后重新启动

chown -R mysql:mysql mysql-8.0.16

进入命令行

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

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值