安装环境介绍:
centos7.6,
MySQL-5.7.35
centos7中通过官网下载的mysql安装包进行mysql-5.7.35版本的数据库安装。
这种安装方式比较简单,详细步骤如下:
1.下载mysql安装包
https://downloads.mysql.com/archives/community/
下载好安装包后通过xftp将安装包传到服务器上
解压、移动
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
再移动并重命名(/usr/local/mysql
):
mv mysql-5.7.35-linux-glibc2.12-x86_64/ /usr/local/mysql
mysql用户组、权限配置
创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
创建数据目录(/data/mysql
),并赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
配置 my.cnf :
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
datadir=/data/mysql
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
symbolic-links=0
explicit_defaults_for_timestamp=true
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
## 默认字符集 utf8
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
初始化数据库
进入mysql 的 bin 目录
cd /usr/local/mysql/bin/
初始化:
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
遇到的问题:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决:
yum -y install libaio-devel.x86_64
yum -y install numactl
查看mysql 初始化密码(随机生成的)
cat /data/mysql/mysql.err
找到这行
[Note] A temporary password is generated for root@localhost: bkv,dy,)o7Ss(先将密码复制下来)
启动mysql
先将 mysql.server
放置到 /etc/init.d/mysql
中:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动Mysql :
service mysql start
修改密码
前面的步骤我们能查出mysql 随机生成的密码,接下来,登录mysql,修改密码。
./mysql -u root -p 回车 (这样密码不用转译)
输入密码
./mysql -u root -p密码 (直接一行输入时一些符号需要加转译符\)
qQsyG!D&w6Pq 感叹号要转译一下,前面加个\ &也要加
./mysql -u root -pqQsyG\!D\&w6Pq
再执行下面三步操作,然后重新登录。
set password = password('123456');
alter user 'root'@'localhost' password expire never;
flush privileges;
远程连接
访问 mysql 库
使 root 能再任何 host 访问
刷新
退出 mysql
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
quit;
将mysql bin添加的系统bin中
如果不希望每次都到bin目录下使用 mysql 命令则执行以下命令
ln -s /usr/local/mysql/bin/mysql /usr/bin
基本指令
启动 : service mysqld start/restart
停止 : service mysqld stop
查看状态: service mysqld status