linux(centos7)之mysql通用版本安装

glibc版本安装参考

#1.查看glibc版本
ldd --version
#2.上传后解压,并移动至安装位置
tar xf mysql-8.0.31-linux-glibc2.12-i686.tar.xz
#3.在mysql8下新建mkdir sock log tmp data
my.cnf文件内容如下:
[client]
#SSL Settings
ssl-ca=/usr/local/mysql8/data/ca.pem
ssl-cert=/usr/local/mysql8/data/client-cert.pem
ssl-key=/usr/local/mysql8/data/client-key.pem

#设置3306端口
port = 3306
#设置mysql客户端默认字符集
default-character-set=utf8
#mysql以socket方式运行的sock文件位置
#socket=/var/lib/mysql/mysql.sock
socket=/usr/local/mysql8/sock/mysql.sock

[mysqld]
#SSL Settings
ssl-ca=/usr/local/mysql8/data/ca.pem
ssl-cert=/usr/local/mysql8/data/server-cert.pem
ssl-key=/usr/local/mysql8/data/server-key.pem

#时区加8小时
default-time-zone='+8:00'
#跳过权限表校验,忘记密码时使用
#skip-grant-tables
#禁用DNS解析,只能用ip访问
skip-name-resolve
#设置3306端口
port = 3306
#设置mysql的安装目录
basedir=/usr/local/mysql8
#设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql8/data
#mysql以socket方式运行的sock文件位置
#socket=/var/lib/mysql/mysql.sock
socket=/usr/local/mysql8/sock/mysql.sock
#mysql存放临时文件的目录
tmpdir=/usr/local/mysql8/tmp 
#设置日志的时区,错误日志默认是使用utc时间,可以修改为系统时间方便查看
log_timestamps=SYSTEM
#错误日志位置
log-error=/usr/local/mysql8/log/mysqld.log
#log_error_verbosity记录mysql的日志级别,1只记录ERROR级别的日志,2记录ERROR和warining信息,3记录ERROR和warning和一般的信息如NOTE级别
log_error_verbosity=3
#慢查询日志,1表示开启,0关闭
slow_query_log=1
#慢查询日志存放位置
slow_query_log_file=/usr/local/mysql8/log/mysql_slow.log
#慢查询的时间,单位秒,条件是大于
long_query_time=0.01
#慢查询默认FILE,是记录到文件中,TABLE是存入mysql.slow_log表中。2者可同时存在,以逗号分隔,存入到表中,更耗资源
log_output=FILE
#进程id文件
pid-file=/usr/local/mysql8/sock/mysqld.pid
#是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
symbolic-links=0
#mysql监听的ip地址,如果是127.0.0.1,表示仅本机访问
#bind_address = 127.0.0.1
#数据修改是否自动提交,为0不自动提交,默认值为1自动提交
autocommit = 1
#禁用DNS主机名查找,启用以后用内网地址向mysqlslap请求响应快了一半
#skip_name_resolve = 1
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#某台host连接错误次数等于max_connect_errors(默认10),主机'host_name'再次尝试时被屏蔽。可有效反的防止dos攻击
max_connect_errors = 2
#mysql最大接受的数据包大小
max_allowed_packet = 16M

#lower_case_table_names=0的情况下,表名是严格区分大小写的,为1时,不区分大小写
#linux下lower_case_table_names默认值为0.Windows下默认值是1.MacOS下默认值是 2
#mysql8初始化之前设置后不可修改默认值
#lower_case_table_names=1
#sql_mode是一组语法校验规则
#sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#mysql连接超时时间,默认10s
connect_timeout=11
#mysql连接如果空闲超8小时,则连接中断,默认是8小时,即28800秒,用show global variables like '%timeout%';查询全局
#对于非交互式连接,类似于jdbc连接,wait_timeout的值继承自服务器端全局变量wait_timeout。
wait_timeout=20000
#对于交互式连接,类似于mysql客户单连接,wait_timeout的值继承自服务器端全局变量interactive_timeout。默认是8小时,即28800秒.
interactive_timeout=20001
#mysql启动用户
user=root
#表中的timestamp列,如果没有定义为null,default值或者on update,会自动分配default current_timestamp和on update current_timestamp属性
explicit_defaults_for_timestamp=true
3.#查找rpm -qa|grep libaio
安装 yum install  libaio-devel.x86_64 -y
4.#在bin目录下执行:
./mysqld --initialize --user=root --basedir=/usr/local/mysql8 --datadir=/usr/local/mysql8/data
5.#修改support-files/mysql.server 文件的内容为对应的所在目录。
/usr/local/mysql替换,my.cnf文件所在目录
6.#进入support-files目录,启动mysql,若启动报错,log-error=配置文件不生效,新建/var/log/mariadb/mariadb.log目录文件
 ./mysql.server start
7.#进入bin目录,socket本地客户端进入sql:./mysql -uroot -p -S /usr/local/mysql8/sock/mysql.sock
8.#修改登录密码:
 mysql>alter user 'root'@'localhost' identified by 'kht123';
9.#授予远程登录权限:
在MySQL5.7版本使用grant来进行用户授权,例:创建一个whsir用户,允许所有IP访问,密码是password
mysql> GRANT ALL PRIVILEGES ON *.* TO 'whsir'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
但是从MySQL8版本开始,不能再使用GRANT创建用户,而是要先CREATE USER,然后使用GRANT授权。
mysql> CREATE USER 'whsir'@'%' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; 
mysql> FLUSH PRIVILEGES;
10.#刷新权限(切勿忘记关闭防火墙):
mysql>flush privileges;
 mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
11.#设置mysql为systemct start mysql方式启动
#将服务文件拷贝到init.d下,并重命名为mysqld:
cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysqld -r
#赋予可执行权限:
chmod +x /etc/init.d/mysqld
12.#配置mysql的环境变量,mysql -uroot -p命令可以直接进入
vim /etc/profile export PATH=$PATH:/usr/local/mysql8/bin

centos设置开机启动

#添加服务:
chkconfig --add mysqld
#显示服务列表:(3.4.5都是on状态,服务器重启后生效)
chkconfig --list 

ubuntu设置开机启动

#添加服务:
sysv-rc-conf add mysqld
sysv-rc-conf mysqld on
#显示服务列表:(3.4.5都是on状态,服务器重启后生效)
sysv-rc-conf --list mysqld
#13.#远程授权
create user 'root'@'%' identified by 'kht123';
grant all privileges on *.* to 'root'@'%' with grant option; 
flush privileges;
#14.#navicat2059错误
alter user 'root'@'%' identified by 'kht123' password expire never;
alter user 'root'@'%' identified with mysql_native_password BY 'kht123'; 
flush privileges;
posted @ 2022-11-14 15:53  kht  阅读(190)  评论(0编辑  收藏  举报