安装依赖软件
yum install wget
进入目录
cd /usr/local
下载 Mysql-5.7.21.tar.gz
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz --no-check-certificate# 如果上边的命令不行的话 可以使用下边的命令curl -O -L https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
解压
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
移动解压后的内容至上面新建的目录中
mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql
创建存放数据目录
mkdir -p /data/mysql
创建mysql用户组及用户
groupadd mysql#新建msyql用户禁止登录shelluseradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql
改变目录权限
chown -R mysql.mysql /usr/local/mysql/chown -R mysql.mysql /data/mysql/
进入mysql目录
cd mysql
初始化mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql# 注意,这里初始化完成之后需要记录一下最后一行的密码# 类似下面这样 localhost: {初始密码}# localhost: eKUea+VLi05s
修复安装依赖
如果初始化时报以下错误就需要进行修复# ./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory# yum 安装的libnuma.so.1,但安装时默认安装的是32的,但db2需要的是64位的# 如果已经安装了libnuma.so.1,先yum remove libnuma.so.1yum remove libnuma.so.1yum -y install numactl.x86_64
# 如果遇到这个错误 error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory# 出现该问题首先检查该链接库文件有没有安装使用 命令进行核查rpm -qa|grep libaio# 运行该命令后发现系统中无该链接库文件 使用命令,yum install libaio-devel.x86_64
# 修复后继续重复 初始化 mysql 操作
编辑 /etc/my.cnf (初始化的时候mysql会自动生成一个配置文件)
vi /etc/my.cnf
替换为以下内容
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=/usr/local/mysql# 设置mysql数据库的数据的存放目录 datadir=/data/mysql# 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
附加配置
若在数据导入遇到日期问题 Incorrect datetime value: '0000-00-00 00:00:00' 则在my.ini中的 mysqld 区块添加
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
把mysql放到本地系统服务中
cp -a ./support-files/mysql.server /etc/init.d/mysqld
创建 mysql 链接
ln -fs /usr/local/mysql/bin/mysql /usr/bin/
启动服务
service mysqld start
查看初始密码
cat /root/.mysql_secret
登录并修改密码
mysql -u root -p
SET PASSWORD FOR 'root'@localhost=PASSWORD('123123');
设置用户远程登录
use mysql# 允许任意地方远程GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123123' WITH GRANT OPTION;# 允许指定IP进行远程GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.16.152' IDENTIFIED BY '123123' WITH GRANT OPTION; flush privileges;
新建用户和数据库,并赋予新建的用户相关库的所有权限
# 新建用户CREATE USER 'hps'@'%' IDENTIFIED BY 'password';# 创建数据库create database nds_event;# 为用户授权grant all privileges on nds_event.* to hps@'%' identified by '123456';# 刷新权限flush privileges;