【运维】mysql-5.7.29的安装部署

一、关闭Selinux

selinux惹的祸,如果是centos系统,默认会开启selinux

解决方法:先临时改为警告模式:setenforce 0

永久关闭 Vim /etc/sysconfig/selinux,

把SELINUX=enforcing改为SELINUX=disabled

二、解压mysql5.7.29压缩包

上传mysql5.7.29压缩包 通过FTP 或者RZ命令上传

tar -zxvf mysql-linux-glibc2.12-x86_64.tar.gz

三、移动更改名称

mv mysql-linux-glibc2.12-x86_64 /usr/local/

mv mysql-linux-glibc2.12-x86_64/ mysql

四、创建用户组和用户

useradd mysql

passwd mysql  输入mysql密码

groupadd mysql useradd -r -g mysql mysql

cd / && mkdir -p /data/mysql_data/

chmod 777 -R /usr/local/mysql/

chmod 777 -R /data/mysql_data/

chown mysql:mysql -R /data/mysql_data

五、修改配置文件

vim /etc/my.cnf

增加以下:

[mysqld]

datadir=/data/mysql_data

socket=/data/mysql_data/mysql.sock

server_id=1

port=3306

symbolic-links=0

log-error=/data/mysql_data/mysqld.log

pid-file=/data/mysql_data/mysqld.pid

log_bin=/data/mysql_data/mysql-bin

expire_logs_days = 7

#log_slave_updates = 1

log_timestamps = system

character_set_server = utf8

lower_case_table_names = 1

max_connections = 1000

auto_increment_offset=1

auto_increment_increment=1

log-slave-updates

sync_binlog=1

log_bin_trust_function_creators=1

sql_mode=

transaction_isolation=READ-COMMITTED

binlog_format=mixed

max_allowed_packet=104857600

sql_mode=IGNORE_SPACE

[client]

#collation_server = utf8_general_ci

#character_set_server = utf8

参照附件:

六、启动并查看密码

cd /usr/local/mysql/bin/

输入启动命令

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

查看密码root初始化密码

tail -200 /data/mysql_data/mysqld.log|grep localhost

2022-01-10T19:22:59.926545-08:00 1 [Note] A temporary password is generated for root@localhost: ;*.eovTq7t+a

记录密码

七、开机启动

cd /usr/local/mysql/

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

chkconfig --add mysqld

chkconfig --level 35 mysqld on

八、启动、重启、停止命令 

su – mysql

cd /usr/local/mysql/

service mysqld start

启动成功

service mysqld reload

service mysqld stop

命令记录:

启动:service mysqld start

停止:service mysqld stop

重启:service mysqld restart

重载配置:service mysqld reload

九、查看进程

service mysqld start

ps -ef|grep mysql

查看mysql 进程

netstat -ano |grep "3306" #查看3306端口

十、数据库初始化

cd /usr/local/mysql/bin

./mysql -u root -p

初始化密码

set password for root@'localhost' = password('Root.123');

到此MySQL搭建完成,从库按这个步骤搭建,需要改动的只有/etc/my.cnf server_id=1 改为server_id=2,从库初始化完成后,开始主主配置。

刷新内存

flush privileges;

重新登录:

./mysql -uroot -pRoot.123

命令记录:

mysqladmin -u用户名 -p旧密码 password 新密码

旧密码记录

SET PASSWORD FOR '用户名'@'主机' = PASSWORD(‘密码');

grant all privileges on *.* to '用户名'@'%' identified by '密码' with grant option;

flush privileges;

配置环境变量:

find / -name mysql.server

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

chown 777 /etc/my.cnf

chmod +x /etc/init.d/mysqld

vim .bash_profile

增加:

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

source .bash_profile

十一、赋权

mysql -uroot -pRoot.123

mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'Root.123';

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'Root.123';

mysql>flush privileges;

视情况开启:

mysql>set global log_bin_trust_function_creators=1;

mysql>show global variables like 'log_bin_trust_function_creators';

mysql>set auto_increment_increment=1;

mysql>set auto_increment_offset=1;

mysql>show variables like "%increment%";

查看权限:

SELECT user,host FROM mysql.user;

命令记录:

创建数据库:

CREATE DATABASE `statsdb` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

//grant all privileges on *.* to 'root'@'%' identified by 'root';

grant all privileges on *.* to 'portal'@'%' identified by 'Portal.123' with grant option;

授予用户在本地服务器对该数据库的全部权限

grant all privileges on *.* to 'root'@'localhost' identified by 'root';

刷新权限flush privileges;

1、create schema [数据库名称] default character set utf8 collate utf8_general_ci;--创建数据库

  采用create schema和create database创建数据库的效果一样。

2、create user '[用户名称]'@'%' identified by '[用户密码]';--创建用户

create user 'nacos'@'%' identified by 'nacos';--创建用户

  密码8位以上,包括:大写字母、小写字母、数字、特殊字符

  %:匹配所有主机,该地方还可以设置成‘localhost’,代表只能本地访问,例如root账户默认为‘localhost‘

3、grant select,insert,update,delete,create on [数据库名称].* to [用户名称];--用户授权数据库

  *代表整个数据库

4、flush  privileges ;--立即启用修改

5、revoke all on *.* from tester;--取消用户所有数据库(表)的所有权限

6、delete from mysql.user where user='tester';--删除用户

7、drop database [schema名称|数据库名称];--删除数据库

常见问题

问题一:

[root@localhost bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

2022-01-11T02:14:24.636177Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2022-01-11T02:14:24.637749Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.

2022-01-11T02:14:24.637776Z 0 [ERROR] Aborting

解决方法:删除data/MYSQL

问题二:

解决方法:Mysql用户启动

问题三:

Root删除lock文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangfish520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值