前两天时间鼓捣在centOS上安装mysql,并通过自己windows电脑连接进行开发工作,现在做一个总结!
1. 使用windows登陆mysql官网(https://dev.mysql.com/downloads/mysql/)下载。
选择linux - Generic版本,根据实际情况选择32/64位的包,我这里选择64位。
文件名称:mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
2. 下载完成后,使用Filezilla ftp软件上传至centOS主机
使用xshell ssh连接到CentOS主机,为方便直接使用root用户操作···
内容参考https://www.cnblogs.com/carbon3/p/5641050.html
2.1 首先进行解压缩,解压缩后移动到/usr/local/mysql目录中
tarzxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql
2.2 通过命令对mysql进行初始化
cd/usr/local/mysql
mysqld –initialize
2.3 创建mysql用户
useradd -M -s /sbin/nologin mysql
mkdir -p/data/mysql
chown mysql/data/mysql
cd/usr/local/mysql
./bin/mysqld --initialize--user=mysql --datadir=/data/mysql
注意,这一步最后一行会有一个提示
[Note] A temporary password is generated for root@localhost: XXXXX
最后面的字符串为root用户密码。
./bin/mysql_ssl_rsa_setup --datadir=/data/mysql
2.4 修改两个配置文件
my.cnf已经自动生成好了,可直接修改
vi /etc/my.cnf
mysqld没有自动生成,使用mysql解压后support-files/mysql.server的文件copy一份做修改
cp support-files/mysql.server/etc/init.d/mysqld
vi /etc/init.d/mysqld
2.5 启动mysql服务
/etc/init.d/mysqldstart
这里报错,说mysql用户缺少一个存放日志文件夹的权限,直接用root用户创建了一个,直接chmod 777省事儿,重试后启动成功!
2.6 mysql服务加入开机启动
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
2.7 配置mysql环境变量,方便直接使用命令。
export PATH=/usr/local/mysql/bin:$PATH
使环境变量生效:
source /etc/profile
2.8 刚刚生成的初始密码是乱码,为了方便记忆,修改初始密码。
mysql -uroot –pXXXXXX
mysql>set password= password('pass');
修改后,即可使用新密码登陆。
3. 安装成功后,创建一个新的数据库
mysql>createdatabase mydb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
想使用window电脑的rdbms连接数据库时,才发现CentOS防火墙阻挡了3306端口,而且mysql默认只能本机访问。
3.1 解除CentOS防火墙限制
设置防火墙需要root权限,参考https://blog.csdn.net/achang21/article/details/52538049
firewall-cmd--zone=public --add-port=80/tcp –permanent
firewall-cmd --reload
3.2 解除mysql客户端连接限制
mysql -uroot –ppass
mysql>use mysql;
mysql>update user set host ='%' whereuser ='root';
mysql>flush privileges;
此时就可以使用dbms远程连接到CentOS的mysql数据库,终于可以开始搞事情了!