Centos7将默认数据库mysql替换成了Mariadb,安装没那么方便了。
如果用yum还容易些,改改下载源,上网就可以安装。
离线的话,先去下载一个安装包,我下载的是mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz,
http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.6/
还可以下载到。
安装的时候需要用到perl-Data-Dumper.x86_64,不然会出错误提示
FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:Data::Dumper
可以自己下载,不大,45K就上传到这里,文章最下面有下载链接。
http://search.cpan.org/~smueller/Data-Dumper-2.154/
这里也有
安装的centos7是64位,不要选默认的最小安装,不然perl的插件就没有,选基本网络就好,不过还是没有perl-Data-Dumper.x86_64。
选基本网络模式安装,mariadb就自动进来了,需要删除掉。
rpm -qa | grep mariadb
看一下是不是有,如果有都删掉。
rpm -e --nodeps 列表里面的项目
上传从这里下载的perl-Data-Dumper并安装
rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm
新安装的机器应该没有/etc/my.cnf,不过保险起见,还是看看,有删了。
建立组和用户
groupadd mysql
useradd -g mysql mysql
把下载的安装包上传到/usr/local/
展开
tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
把展开的目录改成mysql
mv mysql-5.6.34-linux-glibc2.5-x86_64 mysql
自己产生一个、etc/my.cnf
内容:
[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
port = 3306
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
把mysql文件夹所有者修改为mysql用户和组
cd /usr/local/mysql
chown -R mysql:mysql ./
开始安装
./scripts/mysql_install_db --user=mysql
在修改一下data目录的所有权
chown -R mysql:mysql data
制作启动连接
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
加执行权
chmod +x /etc/rc.d/init.d/mysqld
做成自动服务
chkconfig --add mysqld
确认一下
chkconfig --list mysqld
启动
service mysqld start
查看状态
service mysqld status
SUCCESS! MySQL running (10832)
编辑/etc/profile文件,加入环境变量,把这样一行加进入
export PATH=$PATH:/usr/local/mysql/bin
立刻生效
. /etc/profile
试一试
mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.34 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
不要带-p,会提示要输入密码,输啥肯定是个死啊,还没配置呢,不过好像直接回车也行。
下面修改密码
mysql> use mysql
mysql> update user set password=password('shen_xu123') where user='root' and host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
让远程可以访问
GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
'your username'和'your password'自行修改