mysql和数据文件放在/opt/db/mysql5.7.26路径下
1.上传.tar.gz文件到/opt/db/mysql5.7.26
cd /opt/db/mysql5.7.26
解压文件tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
重命名为mysql
mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql
新建data目录,如图:
2.创建用户组和用户并修改权限
创建用户和用户组
groupadd mysql
useradd -r -g mysql mysql
修改用户密码,可忽略
passwd mysql
授权目录为mysql,注意运行命令的目录,进入该目录
/opt/db/mysql5.7.26
chown mysql:mysql -R mysql
3.配置/etc/my.cnf
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/opt/db/mysql5.7.26/mysql
datadir=/opt/db/mysql5.7.26/data
socket=/tmp/mysql.sock
#socket=/var/lib/mysql/mysql.sock
log-error=/opt/db/mysql5.7.26/data/mysql.err
pid-file=/opt/db/mysql5.7.26/data/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
# 用于主从复制
#log-bin=mysql-bin #开启二进制日志
#server-id=8 #设置server-id,设置为当前ip的最后一个段的数字,这样不会乱
3.初始化数据库
初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/opt/db/mysql5.7.26/mysql --datadir=/opt/db/mysql5.7.26/data --user=mysql --initialize
查看密码
cat /opt/db/mysql5.7.26/data/mysql.err
报错
a .如果安装mysql出现了以上的报错信息.如果是Cento执行yum install libaio-devel.x86_64
b. 如果安装mysql出现了以上的报错信息.这是却少numactl这个时候如果是Centos就
yum -y install numactl
就可以解决这个问题了.
ubuntu的就
sudo apt-get install numactl
就可以解决这个问题了
4.启动mysql
cp /opt/db/mysql5.7.26/mysql/support-files/mysql.server /etc/init.d/mysql
修改配置
vim /etc/init.d/mysql
修改为如下
basedir=/opt/db/mysql5.7.26/mysql
datadir=/opt/db/mysql5.7.26/data
mysql进程检查
ps -ef|grep mysql
启动mysql
service mysql start
开机自启动
systemctl enable mysql
出现如下信息:
[root@g support-files]# systemctl enable mysql
mysql.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysql on
执行提示信息就行:
/sbin/chkconfig mysql on
查看自启动配置:
/sbin/chkconfig --list
5.登录
临时密码在mysql.err中
./mysql -u root -p
修改密码和设置远程登录
SET PASSWORD = PASSWORD('你的密码');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
use mysql;
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
mysql8修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
6.如果不能远程访问
检查防火墙
firewall-cmd --state
关闭防火墙
service firewalld stop
7.远程访问