一、安装mysql
1.centos7默认的数据库为MarinDB,需要先删除原有的MarinDB
rpm -qa|grep mariadb
rpm -e --nodeps xxx//xxx为上面查询出的文件名
2.删除/etc/my.cnf文件(如果没有就忽略)
3.创建mysql用户和用户组
创建mysql用户组:groupadd mysql
创建mysql用户并加入mysql用户组:useradd -g mysql mysql
4.上传mysql压缩包到/usr/local下并解压:
tar -zxvf mysql-xxx.tar.gz
重命名:mv mysql-xxx mysql
5.拷贝my.cnf文件到/etc目录下
6.进入mysql目录,修改当前目录拥有者为mysql用户
cd /usr/local/mysql/
chown -R mysql:mysql ./
7.执行下面的命令进行mysql安装
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
如果出现面的错误:
Installing MySQL system tables.../usr/local/mysql//bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
是因为缺失libaio,安装libaio再执行即可。
yum install libaio -y
8.修改当前data目录(/usr/local/mysql/data)的拥有者为mysql
chown -R mysql:mysql data
至此,mysql安装完毕。
二、配置mysql
1.授予my.cnf文件最大权限
chmod 777 /etc/my.cnf
2.设置开机启动脚本,复制启动脚本到资源目录:
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
3.增加mysqld的脚本执行权限
chmod +x /etc/rc.d/init.d/mysqld
4.将mysqld服务加入到系统服务
chkconfig --add mysqld
5.检查mysqld服务是否已经生效
chkconfig --list mysqld
输出如下内容表示已经生效:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
6.启动mysql
service mysqld start
启动时可能会提示如下信息,这是因为我们上面吧my.cnf的权限设置的太高导致的,可以忽略
Warning: World-writable config file '/etc/my.cnf' is ignored
7.添加mysql环境变量
vim ~/.bash_profile
在文件末尾追加下面的内容:
export PATH=$PATH:/usr/local/mysql/bin
保存退出。
执行source ~/.bash_profile使其立即生效
三、设置mysql用户名密码等
1.为root用户设置密码
mysql默认没有root密码,这样很不安全,需要设置root密码,可以使用mysqladmin设置,
mysqladmin -uroot -p password adminMysql //adminMysql为新密码
回车会提示输入旧密码,开始为空直接回车。
修改后登录测试
mysql -uroot -p
2.创建普通用户
使用root用户登录mysql控制台,执行创建用户命令:
create user ‘sql_test’@’%’ identified by ‘testSQL’;
- sql_test表示用户名
- %表示可以以任意主机登录
- testSQL表示密码
3.创建数据库并授权
使用root用户登录mysql控制台,执行创建数据库命令:
create database sqltest;
将sqltest的权限赋予用户sql_test:
grant all on sqltest.* to ‘sql_test’@’%’;
- all表示所有权限,可选的有select insert update等
- * 表示sqltest数据库的任意表
- sql_test表示用户
- %表示任意客户端主机都可以连接
五、mysqlroot密码重置
如果忘记root密码使用下面的方式重置mysql的root密码。mysql重置root密码需要先跳过mysql的权限认证。
1.首先关闭mysql服务
service mysqld stop
2.找到mysql安装目录,执行bin目录下的mysqld_safe命令启动mysql。指定跳过权限表认证。
./bin/mysqld_safe --skip-grant-tables --user=root &
3.此时用空密码登录mysql
mysql -uroot
4.更改密码。
mysql5.7以下版本使用下面的命令:
update mysql.user set password=password(‘新密码’) where user=‘root’;
mysql5.7版本使用下面的命令:
update user set authentication_string=password(‘新密码’) where user=‘root’;
5.刷新权限表,使权限表生效。
flush privileges;
6.重启mysql服务
service mysqld restart
7.使用新的密码登录mysql
mysql -uroot -p