一、MySQL的安装、启动、配置
1、安装MySQL:
sudo apt-get install mysql-servermysql-client
sudo apt-get install libmysqlclient-dev
2、查看是否已经安装MySQL:
sudo netstat -tap | grep mysql
如果出现了MySQL监听的端口,则表示MySQL数据库安装成功。
MySQL数据库默认是开机自启动
3、登录MySQL数据库:
mysql –u root –p
4、MySQL数据库的启动、停止
启动MySQL服务: sudo start mysql
停止MySQL服务: sudo stop mysql
重启MySQL服务: sudo /etc/init.d/mysql restart sudo restart mysql
修改 MySQL 的管理员密码: sudo mysqladmin -u root password newpassword
如果服务器不能正常运行,您可以通过下列命令启动它:
sudo /etc/init.d/mysql restart
远程操作服务器上数据库:
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
sudo service mysql restart(首选)
5、mysql卸载、删除
sudo apt-get autoremove --purge mysql-server-5.0
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common //这个很重要
6、查看MySQL进程、端口
1)ps -aux|grep mysql
2)检查MySQL服务器占用端口
二、修改MySQL服务器的配置
1、将字符编码设置为UTF-8
默认情况下,MySQL的字符集是latin1,因此在存储中文的时候,会出现乱码的情况,所以我们需要把字符集统一改成UTF-8。
用vi打开MySQL服务器的配置文件my.cnf
~sudo vi /etc/mysql/my.cnf
或者
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
#在[client]标签下,增加客户端的字符编码
[client]
default-character-set=utf8
#在[mysqld]标签下,增加服务器端的字符编码
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
2、让MySQL服务器被远程访问
默认情况下,MySQL服务器不允许远程访问,只允许本机访问,所以我们需要设置打开远程访问的功能。
用vi打开MySQL服务器的配置文件my.cnf
~ sudo vi /etc/mysql/my.cnf
#注释bind-address
#bind-address = 127.0.0.1
3、改变数据存储位置
有时候我们可能还需要改变MySQL数据存储的位置,一种方法是直接修改配置文件 /etc/mysql/my.cnf,找到datadir属性修改目录。
~ vi /etc/mysql/my.cnf
[mysqld]
datadir = /var/lib/mysql
三、MySQL添加用户、删除用户与授权
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):
1、创建用户
mysql> insert into mysql.user(Host,User,Password)values("localhost", "test",password("1234"));
这样就创建了一个名为:test 密码为:1234 的用户。
注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。
2、为用户授权
授权格式:grant 权限 on 数据库.* to 用户名@登录主机identified by "密码";
2.1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:
@>mysql -u root -p
@>密码
2.2 首先为用户创建一个数据库(testDB):
mysql>create database testDB;
2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):
mysql>grant all privileges on testDB.* to test@localhostidentified by '1234';
mysql>flushprivileges;//刷新系统权限表
格式:grant 权限 on 数据库.* to 用户名@登录主机identified by "密码";
2.4 如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on testDB.* to test@localhostidentified by '1234';
mysql>flush privileges; //刷新系统权限表
2.5 授权test用户拥有所有数据库的某些权限:
mysql>grantselect,delete,update,create,drop on *.* to test@"%" identified by"1234";
3、删除用户
@>mysql -u root -p
@>密码
mysql>Delete FROM userWhere User='test' and Host='localhost';
mysql>flush privileges;
mysql>drop databasetestDB; //删除用户的数据库
删除账户及权限:
>drop user 用户名@'%';
>dropuser 用户名@ localhost;
4、修改指定用户密码
@>mysql -u root -p
@>密码
mysql>update mysql.userset password=password('新密码') where User="test"and Host="localhost";
mysql>flush privileges;
5、数据库的基本操作
1)列出所有数据库
mysql>showdatabases;
2)切换数据库
mysql>use'数据库名';
3)列出所有表
mysql>showtables;
4)显示数据表结构
mysql>describe表名;
5)删除数据库和数据表
mysql>dropdatabase 数据库名;
mysql>droptable 数据表名;