mysql5.7的安装和之前版本的安装有些不同,查了一些资料折腾了老半天方才安装好。分享安装过程以帮助需要的人。
先下载mysql安装包:打开 http://dev.mysql.com/downloads/mysql/
选择 linux - Generic并在其下选择
Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive 进行下载。
然后
shell>tar zxvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz -C /usr/local #解压
(上述标红部分,读者可根据自己的版本和习惯安装目录进行修改)
建立用户mysql,组mysql。后面mysql就使用这个用户来运行(注意这也是mysql启动脚本中默认的用户,因此最好不要改名)。
shell>groupadd mysql
shell>useradd -r -g mysql mysql
(使用-r参数表示mysql用户是一个系统用户,不能登录)
shell>cd /usr/local
shell>ln -s /usr/local/mysql-5.7.15-linux-glibc2.5-x86_64 mysql #在/usr/local/目录下创建一个mysql链接
shell>cd /usr/local/mysql #进入mysql目录
shell>mkdir data #作为存放数据的目录
shell>chmod 770 data #添加权限
shell>chown -R mysql . #注意后面是有个 . 的,下同
shell>chgrp -R mysql .
shell>bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data #初始化
执行该命令后,注意最后一行的[Note]信息
[Note] A temporary password is generated for root@localhost: )#Fzu)-oj6f8 生成的初始密码在首次以root用户登入时使用。
如果报错:libaio.so.1: cannot open shared object file
sudo apt-get install libaio1 libaio-dev
or
sudo yum install libaio
如果报错:Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)
执行:mysql -uroot
会出现:log-error set to '/var/log/mariadb/mariadb.log', however file don't exists
然后执行:
这个一看就是权限问题了
log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
用WinSCP去看的时候发现并没有/var/log/mariadb/mariadb.log这个路径,那我们就创建, 并给mysql用户授权即可
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
shell>bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
shell> cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
shell>vi/etc/my.cnf #修改或添加以下内容(不知道用vi的,可以先行百度vi用法)
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
shell>vi /etc/profile #配置环境变量 添加如下内容
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"
shell>. /etc/profile #使配置及时生效 如果报错,运行 bash /etc/profile
实现使用 service mysqll (start|status|stop) 命令操作mysql.
shell>cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
shell> chmod +x /etc/init.d/mysql #添加执行权限
至此可用service mysql start | status | stop来启动 | 查看状态 | 停止 mysql数据库。
也可以 /etc/init.d/mysql start | status | stop
配置开机启动mysql服务
shell> chkconfig --add mysql
shell> chkconfig --level 2345 mysql on
首次登入mysql
shell> mysql -u root -p
Enter password:
输入之前生成的临时密码
连上后,在做任何操作前,mysql要求要改掉root的密码后才能进行操作。
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> SET PASSWORD = PASSWORD('your password'); #修改密码
mysql> flush privileges; #更新权限
添加 授权远程访问 则执行以下两条语句(读者请自行选择)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_root_password' WITH GRANT OPTION;
mysql> flush privileges; #更新权限
至此,完成了mysql的安装,希望能够帮助到大家
参考链接: http://www.linuxidc.com/Linux/2016-04/130414.htm
http://www.cnblogs.com/zping/p/5145611.html
https://blog.csdn.net/BertonYip/article/details/80829524