Mysql5.7.26二进制安装
1.
mkdir -p /server/tools
2.
上传MySQL安装包
3.
tar xf
mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
4.
mv
mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql
5.
rpm -qa |grep mariadb
6.
yum remove -y mariadb-libs-5.5.56-2.el7.x86_64
7.
useradd -s /sbin/nologin mysql
8.
id mysql
9.
echo “export
PATH=/application/mysql/bin:$PATH” >>/etc/profile
10.
cat /etc/profile
11.
source /etc/profile
12.
mysql -V 查看mysql版本号
13.
mkfs.xfs /dev/sdb 添加新硬盘直接格式化
14.
bikid 查看磁盘的uuid复制
15.
、mkdir /data
16.
echo
“UUID=“463d8014-efc5-4d87-9b4a-98ad077ae1cd” /data xfs
defaults 0 0”
/etc/fstab
17.
18.
chown -R mysql.mysql
/application/* ##授权
19.
chown -R mysql.mysql /data
20.
初始化数据(创建系统数据)
21.
/application/mysql/scripts/mysql_install_db ###这是5.6版本初始化命令
22.
mkdir -p /data/mysql/data
23.
chown -R mysql.mysql /data
24.
mysqld --initialize
–user=mysql --basedir=/application/mysql/ --datadir=/data/mysql/data
25.
yum -y install libaio-devel ###初始化报错安装这个包 #成功请跳过
26.
上面这种初始化会生成临时密码,180天后失效这也是5.7版本的新特性如果不想使用这种密码步骤如下
27.
rm -rf /data/mysql/data/*
28.
mysqld --initialize-insecure
–user=mysql --basedir=/application/mysql/ --datadir=/data/mysql/data
cat >/etc/my.cnf <<EFO
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EFO
29.
启动数据库两种方法
30.
sys -v
cp
/application/mysql/support-files/mysql.server
/etc/init.d/mysqld
service
mysqld restart
- systemd
注意sysv方式启动过的话需要提前关闭才能使用以下方法
cat >/etc/systemd/system/mysqld.service
<<EFO
[Unit]
Description=Mysql server
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld
–defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EFO
31.
systemctl start mysqld
32.
ss -lpn |grep 3306
33.
如何分析mysql数据库无法启动
1.
Without updating PID 类似错误
2.
查看日志在哪?
3.
/data/mysql/主机名.err
4.
[ERR]上下文
5.
可能情况
6.
/etc/my.cnf 路径不对等
7.
/tmp/mysql.sock 修改过或删除过
8.
数据目录权限不是mysql
9.
参数错了
34.
管理员密码设定(root@localhost)
35.
myqladmin -uroot -p password
mingxuan123
36.
如果管理员用户密码忘记了?
37.
关闭数据库 /etc/init.d/mysqld stop
38.
mysqld_safe --skip-grant-tables
–skip-networking &
39.
登录MySQL # mysql
40.
flush privileges;
41.
alter user root@‘localhost’
identified by ‘mingxuan1’; 或者
42.
select user,host from
mysql.user;
43.
select
user,host,authentication_string from mysql.user; ##查看root密码结构
44.
grant all on . to
root@‘localhost’ identified by ‘123’; ##重新授权root用户密码
45.
systemctl restart mysqld ##修改完密码一定要重启