1、安装
查看有没有安装过:yum list installed mysql*
rpm -qa | grep mysql*
查看有没有安装包:
yum list mysql*
安装mysql客户端:
yum install mysql
安装mysql 服务器端:
yum install mysql-server
yum install mysql-devel
2、启动&&停止
数据库字符集设置
mysql配置文件/etc/my.cnf中加入default-character-set=utf8
启动mysql服务:
service mysqld start或者/etc/init.d/mysqld start
开机启动:
chkconfig -add mysqld,查看开机启动设置是否成功chkconfig --list | grep mysql*
mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
停止:
service mysqld stop
3、登录
创建root管理员:
mysqladmin -u root password 123456
登录:
mysql -u root -p输入密码即可。
远程登陆-h指定服务器ip
mysql -h 10.16.73.124 -u root -p输入密码即可。
忘记密码:service mysqld stop
mysqld_safe --user=root --skip-grant-tables
mysql -u root
use mysql
update user set password=password("new_pass") where user="root";
flush privileges;
4、远程访问
开放防火墙的端口号
mysql增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”。
5、Linux MySQL的几个重要目录
数据库目录/var/lib/mysql/
配置文件
/usr/share /mysql(mysql.server命令及配置文件)
相关命令
/usr/bin(mysqladmin mysqldump等命令)
启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
6、修改localhost
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;
7、指定授权
使用myuser/mypassword从任何主机连接到mysql服务器:GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
8、泛授权
mysql -h localhost -u rootmysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //赋予任何主机上以root身份访问数据的权限
mysql> FLUSH PRIVILEGES;
9、解决Mysql无法远程连接的问题
1、Mysql的端口是否正确
通过 netstat -ntlp查看端口占用情况,一般情况下端口是3306。在用工具连接MySQl是要用到端口。例如My Admin\My Query Browser\MySQl Front等。
2、检查用户权限是否正确
mysql库的user表里有两条记录:host分别为localhost和%(为了安全,%可以换成你需要外部连接的IP)。
3、查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉
需要注掉
报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111)
sudo gedit /etc/mysql/my.cnf
#skip-external-locking
#bind-address = 127.0.0.1
skip-name-resolve
4、查看iptables是否停掉,没关的情况下,无法连接
通过:service iptables stop临时关闭。
报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)
设置好以后需要重启:sudo service mysql restart
10、创建数据库并修改数据库引擎
CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql默认是关闭InnoDB存储引擎的使用的,将InnoDB设置为默认的引擎如下。
(1) 查看mysql存储引擎情况: mysql>show engines。 InnoDB | YES,说明此mysql数据库服务器支持InnoDB引擎。
(2)设置InnoDB为默认引擎:在配置文件my.ini或者my.conf中的 [mysqld] 下面加入
vi /etc/my.cnf
default-storage-engine=INNODB(3) 重启mysql服务器
(4)登录mysql数据库,mysql>show engines。如果出现 InnoDB |DEFAULT,则表示设置InnoDB为默认引擎成功。
11、修改数据库的配置
default-storage-engine=INNODB #修改默认的数据库引擎
set-variable=lower_case_table_names=1 #大小写不敏感
default-character-set=utf8 #字符集为utf-8,解决乱码,如???