Linux下安装MySQL方法比较多,可以用最简单的rpm安装方式,但是在后面的使用过程中,感觉并不友好,会报很多错。下面的代码可以很好的安装mysql,基本上无需更改代码,只需要将代码复制运行一遍就OK了。操作也没有那么麻烦。需要更改的地方也已经用红色标注。
通过 linux 连接工具把 mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 拷贝到/tmp目录下
把安装包拷贝到安装目录
#cp /tmp/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz /usr/local/
减压安装包
#cd /usr/local/
#tar -zvxf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
重命名安装包
#mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql
检查是否安装mariadb
#rpm -qa|grep mariadb
卸载mariadb
#rpm -e –nodeps [文件名]
删除etc目录下的my.cnf(存在的话)
#cd /etc
#rm -rf my.cnf
创建mysql的组
#groupadd mysql
创建mysql的用户并加入mysql组
#useradd -g mysql mysql
配置my.cnf文件
#vi /etc/my.cnf
[client]
#character-set-server=utf8
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
#skip-grant-tables
#设置3306端口
port=3306
socket=/var/lib/mysql/mysql.sock
#设置mysql的安装目录
basedir=/usr/local/mysql
#设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
user=mysql
[mysqld_safe]
pid-file=/usr/local/mysql/data/n1.pid
注意:pid-file=/usr/local/mysql/data/n1.pid 中的n1改成自己Linux主机的名称,并且配置了主机ip映射。
创建mysql目录并且给mysql用户赋权socket=/var/lib/mysql/mysql.sock
#mkdir /var/lib/mysql
#chown -R mysql:mysql /var/lib/mysql
设置/usr/local/mysql目录拥有者为mysql用户
#cd /usr/local/mysql
#chown -R mysql:mysql ./
安装和初始化数据库
#/usr/local/mysql/bin/./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
修改data为mysql用户所有
#chown -R mysql:mysql data
授权my.cnf
#chown 777 /etc/my.cnf
复制启动脚本到资源目录
#cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
增加mysqld服务控制脚本执行权限
#chmod +x /etc/init.d/mysqld
将mysqld服务加入到系统服务
#chkconfig --add /etc/init.d/mysqld
#/usr/local/mysql/bin./mysqld_safe --user=mysql &
配置MYSQL_HOME
#vi /etc/profile
MYSQL_HOME=/usr/local/mysql
PATH=$PATH:$MYSQL_HOME/bin
export PATH
source /etc/profile
启动mysql服务
#/etc/init.d/mysqld restart
显示默认密码
#cat /root/.mysql_secret
第一次登录
#/usr/local/mysql/bin./mysql -uroot -p
在/etc/my.cnf 中[mysqld]下面增加:skip-grant-tables
操作完毕后,再注释掉:#skip-grant-tables
修改密码
mysql>SET PASSWORD = PASSWORD('root');
添加远程访问:
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
重启mysql服务配置生效
#/etc/init.d/mysqld restart
配置完成!!!