安装环境:系统是 centos6.8
1、下载
下载版本:我这里选择的mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz,通用版,linux下64位
也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
2、解压
解压二进制文件, tar -zxvf /usr/local/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql 更改mysql目录名称
3、添加用户组和用户
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql
4、安装
cd /usr/local/mysql/
chown -R mysql:mysql ./
更改mysql目录所属的组和用户。更改权限
chown -R mysql .
chgrp -R mysql .
mkdir data
cd /usr/local/mysql/data
chown -R mysql:mysql ./
初始化 MySQL 配置表
mysql5.7使用
cd ../
5、bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
--user 启动mysql的用户
--basedir mysql安装目录
--datadir mysql数据仓库目录
这一步可能出现问题
修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题
1、在64系统里执行32位程序如果出现/lib/ld-linux.so.2:
bad ELF interpreter: No such file or directory,安装下glic即可
yum install glibc.i686
2、error while loading shared libraries: libz.so.1:
cannot open shared object file: No such file or directory
yum install zlib.i686
3.bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
yum install libaio-devel.x86_64
mysql5.7之前使用
Rk<=:jvq+9jq
注意最后一行,这也是和之有版本不同的地方,它给了root一个初始密码,后面要登录的时候要用到这个密码。
6、./bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/
将mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者。
[root@rhel5-32 mysql]# chown -R root .
[root@rhel5-32 mysql]# chown -R mysql data
cp support-files/my-default.cnf /etc/my.cnf
若my-default.cnf 没有,请在网上下载一个放进my-default.cnf
#修改启动脚本
cp support-files/my-default.cnf /etc/my.cnf
#修改项:
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
symbolic-links=0
default-time_zone = '+8:00'
max_allowed_packet = 32M
#query_cache_size = 128M
max_connections=1000
character_set_server=utf8
init_connect='SET NAMES utf8'
[client]
socket = /tmp/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
将mysqld服务加入开机自启动项。
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
把mysql注册为开机启动的服务
chkconfig --add mysql
查看是否添加成功
[root@rhel5-32 mysql]# chkconfig --list mysql
mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
mysql服务的开启和关闭
#/etc/init.d/mysql start 或者 service mysql start 或者 bin/mysqld_safe&
#/etc/init.d/mysql stop 或者 service mysql stop 或者 bin/mysqladmin -uroot -p
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
PATH=$PATH:/usr/local/mysql:/usr/local/mysql/bin
export PATH
执行生效
source /etc/profile
直接mysql登陆
#测试连接
mysql -uroot -p加上前面保存的密码
第一次登陆要更新密码:
SET PASSWORD = PASSWORD('mysql.123456.data');
flush privileges;
5、错误
5.1 sqlyog连接时,报1130错误,是由于没有给远程连接的用户权限问题
解决1:更改 ‘mysql’数据库‘user’表‘host’项,从‘localhost’改成‘%’。
use mysql; select 'host' from user where user='root'; update user set host = '%' where user ='root'; flush privileges;
解决2:直接授权
GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
5.2 安装时的一些错误
-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录
解决: yum -y install perl perl-devel
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决:yum -y install libaio-devel
6、其他
6.1 配置环境变量
vi + /etc/profile
export PATH=....:/usr/local/mysql/bin
配置默认编码为utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'
重新启动mysql服务
查看连接数
show VARIABLES LIKE '%MAX_CONNECTIONS'
set GLOBAL max_connections=128;
SHOW GLOBAL STATUS LIKE 'MAX_USEd_CONNECTIONS'