-
下载mysql安装包mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
>下载地址< -
上传mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz到安装目录/usr/local/
-
解压
cd /usr/local/
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
- 重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql
- 创建用户组mysql和用户mysql
#创建用户组
groupadd mysql
#创建用户,并加入用户组
useradd -r -g mysql mysql
- 修改mysql目录的用户权限
chown -R mysql:mysql mysql
- 更改mysql文件夹的权限
chmod 755 mysql
- 创建mysql数据存放路径/workspace/db-data/mysql/data(也可以默认mysql的安装目录),设置用户权限mysql和用户组mysql
cd /workspace/db-data/
mkdir -p mysql/data
chown -R mysql:mysql mysql
- 修改/usr/local/mysql/support-files/mysql.server文件datadir
mysqld_pid_file_path=
if test -z "$basedir"
then
basedir=/usr/local/mysql
bindir=/usr/local/mysql/bin
if test -z "$datadir"
then
## datadir=/usr/local/mysql/data
## 修改为
datadir=/workspace/db-data/mysql/data
fi
sbindir=/usr/local/mysql/bin
libexecdir=/usr/local/mysql/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi
- 初始化命令(basedir为安装目录,datadir为数据目录)
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/workspace/db-data/mysql/data
注意打印日志:[Note] A temporary password is generated for root@localhost: XdeeiR&fL6c&
是mysql数据库登录的临时密码
如果出现报错:
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
进行安装
yum install -y libaio
然后再重新执行初始化命令
- 复制启动脚本到资源目录
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
- 修改/etc/my.cnf文件,设置成自定义的路径
port=3306
socket=/usr/local/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/workspace/db-data/mysql/data
log-error=/workspace/db-data/mysql/mysql.err
pid-file=/workspace/db-data/mysql/mysql-server.pid
- 添加自定义路径文件
#创建/mysql-server.pid,写入一个进程号,退出保存
vim /workspace/db-data/mysql/mysql-server.pid
# 创建mysql.err文件,退出保存
vim /workspace/db-data/mysql/mysql.err
#设置用户权限
chown -R mysql:mysql /workspace/db-data/mysql/mysql-server.pid
chown -R mysql:mysql /workspace/db-data/mysql/mysql.err
- 将mysqld服务加入到系统服务
chkconfig --add mysqld
#查看是否生效
chkconfig --list mysqld
- 启动mysql
service mysqld start
- 登录mysql
mysql -u root -p
报错如下:
-bash: mysql: command not found
输入:
ln -s /usr/local/mysql/bin/mysql /usr/bin
再次登录
报错如下:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
输入:
ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock
再次登录
- 修改密码
set password=password('123456');
grant all privileges on *.* to root@'%' identified by '123456';
flush privileges;
- 使用客户端链接测试
添加用户并授权
- 创建用户tester
## 登录
mysql -u root -p
##创建用户tester,密码tester123
create user 'tester'@'%' identified by 'tester123';
flush privileges;
- 设置用户拥有test数据库的所有权限(某个数据库的所有权限)
grant all privileges on `test`.* to 'tester'@'%' identified by 'tester123';
flush privileges;
- 设置用户拥有所有数据库所有权限
grant all privileges on *.* to 'tester'@'%' identified by 'tester123';
flush privileges;