一、数据库安装
yum安装:
1.查看CentOS自带mysql是否已安装。
输入:yum list installed | grep mysql
若有自带安装的mysql,如何卸载CentOS系统自带mysql数据库?
输入:yum -y remove mysql-libs.x86_64,若有多个依赖文件则依次卸载。
当结果显示为Complete!即卸载完毕。
(此时会卸载掉定时器crontab,需要从
yum -y install vixie-cron crontabs
设置开机启动:
chkconfig crond on
service crond start
安装回来)
2.查看yum库上的mysql版本信息(CentOS系统需要正常连接网络)。
输入:yum list | grep mysql 或 yum -y list mysql*
使用yum安装mysql数据库。
输入:yum -y install mysql-server mysql mysql-devel ,命令将:mysql-server、mysql、mysql-devel都安装好,当结果显示
为“Complete!”即安装完毕。
注:安装mysql只是安装了数据库,只有安装mysql-server才相当于安装了客户端。
查看刚安装mysql数据库版本信息。
输入:rpm -qi mysql-server
启动服务
service mysqld start
3.在windows中一般情况下mysql安装好之后就是开机自动启动不需要设置,但是如果是通过yum安装MySQL后,默认开机时不会自动启动,需要手动设置MySQL让它开机自启动。
首先,通过chkconfig命令看看MySQL在不在可管理的列表中,命令是:
chkconfig --list如果列表中没有mysqld这个,需要先用这个命令添加:
chkconfig add mysqld
然后用这个命令设置开机启动:
chkconfig mysqld on
最后确认一下是否设置成功
chkconfig --list
备注:
或
# echo service mysqld start >> /etc/rc.d/rc.local
二、设置远程连接
1:设置mysql的配置文件
/etc/my.cnf (没有的话就搜一下:# find / -name my.cnf)
找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:service mysqld restart
2.开启防火墙
切换到root用户 打开iptables的配置文件:
# vi /etc/sysconfig/iptables
加入在
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
后面加入
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
全部修改完之后重启 iptables:
# service iptables restart
3:登录mysql数据库:
mysql -u root -p
mysql> use mysql;
查询host值:
mysql> select user,host from user;
如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以执行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root 用户的password;
举例:
任意主机以用户root和密码mypwd连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
备注:
5.7版本安装时候有默认密码,查看方法:
# grep 'temporary password' /var/log/mysqld.log
或者直接改
# service mysqld stop
# mysqld_safe --skip-grant-tables &
# update user set password=password('root') where user='root';
(ERROR 1054 (42S22): Unknown column 'password' in 'field list' ---报错没有password这个数据字段列,5.7版本把password字段改成了authentication_string)
# update user set authentication_string=password('root') where user='root';