一、下载通用安装二进制包
先下载mysql安装包:打开 http://dev.mysql.com/downloads/mysql/
选择 linux - Generic并在其下选择
mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
进行下载。可以先下载到一个临时目录里
二、建立用户和目录
建立用户mysql,组mysql。后面mysql就使用这个用户来运行(注意这也是mysql启动脚本中默认的用户,因此最好不要改名)。
#groupadd mysql
#useradd -r -g mysql mysql
(使用-r参数表示mysql用户是一个系统用户,不能登录)
建立目录/root/soft,后面mysql就安装在这个目录下面。
#mkdir /root/soft
三、安装
解压】
将前面得到的mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz解压至/root/soft目录下
#tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /root/soft
这时在program下得到的目录名很长,如果不想改名,则可以建立一个联接:
#ln -s mysql-5.7.22-linux-glibc2.12-x86_64 mysql
此后就可以用/root/soft/mysql来找到mysql的安装目录了
注意,如果mysql目录下没有data目录,手动建一个。
【目录权限设置】
将mysql及其下所有的目录所有者和组均设为mysql:
#cd /work/program/mysql
#chown mysql:mysql -R .
#getfacl /root
#setfacl -m u:mysql:rwx /root
初始化
/root/soft/mysql/bin/mysqld --initialize --user=mysql --datadir=/root/soft/mysql/data --basedir=/root/soft/mysql
成功后最后一句有密码:
A temporary password is generated for root@localhost: q1SLew5T_6K,
【配置】
修改/etc/my.cnf
[mysqld]
basedir=/root/soft/mysql
datadir=/root/soft/mysql/data
socket=/root/soft/mysql/tmp/mysql.sock
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/root/soft/mysql/log/mariadb.log
pid-file=/root/soft/mysql/mariadb.pid
symbolic-links=0
!includedir /etc/my.cnf.d
注意,tmp目录不存在,请创建之。
四.设置mysql以服务运行并且开机启动
再次执行一次权限
chmod -R 777 /root/soft/mysql
chown mysql:mysql /root/soft/mysql
将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限
#cp mysql.server /etc/init.d/mysql
#chmod +x /etc/init.d/mysql
把mysql注册为开机启动的服务
#chkconfig --add mysql
当然也可以手动进行服务的开启和关闭:
#/etc/init.d/mysql start
#/etc/init.d/mysql stop
五.客户端连接测试
#{mysql}/bin/mysql -uroot -p
此时要求输入密码,就是前面初始化时生成的密码。
这时如果连接服务的时候出现错误:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
则需要在在my.cnf中填加:
[client]
socket = /work/program/mysql/tmp/mysql.sock
连上后,在做任何操作前,mysql要求要改掉root的密码后才能进行操作。
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by 'xxxxxxx';
六TIPS
查看mysql是否运行
ps -ef|grep mysqld
netstat -lnp | grep -i mysql
mysql启动时读取配置文件my.cnf的顺序
可以运行如下命令查看:
./bin/mysqld --verbose --help |more
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
可以看到,启动时可以从上述目录下读取配置文件my.cnf。如果当前my.cnf文件不位于上述位置,则必须考过去或做链接。