Linux安装Mysql


服务器上安装Mysql二进制包(非root用户)
root用户的安装可以参见官网,更加简单
https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
YUM或者RPM的安装可以参考
https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html

注意:以下安装在centos7上,mysql版本为5.7.32

1、

添加用户组

$ groupadd mysql

添加用户mysql 到用户组mysql

$ useradd -g mysql mysql
并以mysql用户登录,现在所在目录为用户的主目录/home/mysql

2、
下载一份mysql二进制包
$ wget https://downloads.mysql.com/archives/get/file/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

3、解压缩到目录,比如mysql,并进入该目录
$ mv mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz mysql.tar.gz
$ tar -xvf mysql.tar.gz
$ mv mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz/ mysql57
$ cd mysql57

4、创建目录
$ mkdir data
$ mkdir log
$ mkdir conf
$ cd conf

5、在conf目录中建立配置文件
$ vi my.cnf
并输入以下内容
my.cnf内容开始---------------------------------------------------------
[client]
port=3306
socket=/home/mysql/mysql57/mysql.sock
[mysqld]
port=3306
basedir=/home/mysql/mysql57
datadir=/home/mysql/mysql57/data
pid-file=/home/mysql/mysql57/log/mysql.pid
socket=/home/mysql/mysql57/log/mysql.sock
log_error=/home/mysql/mysql57/log/error.log
server-id=100
my.cnf内容结束---------------------------------------------------------

6、初始化
$ cd ..
$ ./bin/mysqld --defaults-file=/home/mysql/mysql57/conf/my.cnf --initialize --user=mysql --basedir=/home/mysql/mysql57 --datadir=/home/mysql/mysql57/data
$ ./bin/mysql_ssl_rsa_setup

7、寻找临时密码,另开一个会话窗口
$ cd log
$ more error.log
找到“A temporary password is generated for。。。。。”,最后的字符串比如 3L0I.*yf=.G7 就是临时密码,注意每个MySQL的临时密码都是不一样的。

8、以临时密码第一次登录
$ ./bin/mysql -u root -p
可能会提示“Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)”
输入
$ ln -s /home/mysql/mysql57/log/mysql.sock /tmp/mysql.sock

9、再次以临时密码登录
$ ./bin/mysql -u root -p

10、修改root用户的临时密码为自己想要的密码
$ set password for ‘root‘@‘localhost‘ = password(‘123456‘);
$ flush privileges;

11、注意,root缺省是不能远程访问mysql的,如需要远程访问,请配置权限

12、关闭MySQL,可以用
$ ./bin/mysqladmin -u root -p shutdown

13、以后想要启动MySQL,,可以用
$ ./bin/mysqld_safe --defaults-file=/home/mysql/mysql57/conf/my.cnf --user=mysql &

Linux安装Mysql

上一篇:看云栖说云栖——第五赛道


下一篇:mysql5.7报错: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated...