一、安装mysql(ubuntu)
1、安装
- sudo apt-get install mysql-server
- sudo apt-get install mysql-client
- sudo apt-get install libmysqlclient-dev
- sudo netstat -tap | grep mysql
如果是LISTEN状态说明安装成功
ubuntu15.04?
对于ubuntu15.04用以上方法安装的mysql是5.6.25版本的,进入mysql后不能使用中文输入法,插入数据乱码(但是明明显示编码已经设置为utf8了),我试了网上的各种方法都未解决,对于.25之前的版本是可以通过设置编码解决乱码问题的。可能这是新版本的一个bug吧。
我是通过将ubuntu15.04的源更换成了ubuntu14.10的源(utopic 系列的),然后使用以下方法安装了mysql5.6.19,便可以正常使用了。
//执行以下命令
sudo apt-get install mysql-client-core-5.6
sudo apt-get install mysql-client-5.6
sudo apt-get install mysql-server-5.6
#解决中文乱码
#更改配置文件
//修改/etc/mysql/my.cnf
在[client]和[mysql]下面添加
default-character-set=utf8
在[mysqld]下面添加
character-set-server=utf8
mariadb 安装完后不知道密码无法登陆:
使用命令设置密码:
mysql_secure_installation
详细参考:http://jingyan.baidu.com/article/25648fc182a7a99191fd0096.html
2、启动/停止
- sudo /etc/init.d/mysql restart
启动 - sudo /etc/init.d/mysql stop
停止
二、卸载mysql
mysql如果卸载不干净,下次安装的时候可能会出现很多问题,如下图我遇到的:
按照下面的命令依次执行即可卸载,再次安装没有了上面的问题。
- sudo rm /var/lib/mysql/ -R
- sudo rm /etc/mysql/ -R
- sudo apt-get autoremove mysql* –purge
这一步可能出现这样的提示:
不要犹豫,果断输入y 继续卸载,亲测。
如果最后出现类似这样的提示:
update-alternatives: 错误: 无 my.cnf 的候选项 dpkg: 处理软件包 mysql-common
执行下面的命令:
cd /var/lib/dpkg/info
sudo rm -rf mysql*
sudo apt-get -f install
sudo apt-get update
卸载残留
- dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P
- sudo apt-get remove apparmor
下次安装前执行一下: - sudo apt-get install mysql-server mysql-common
三、常用操作
新建用户
#进入mysql执行下面语句name是新用户名,123456是密码
create user name identified by '123456'
修改用户密码
mysqladmin -u root password "新密码"
更多方法:http://jingyan.baidu.com/article/0320e2c198ad5f1b87507bc8.html
用户授权
可能会遇到这样的问题:
(1)启动mysql时必须用root身份或前面加sudo才能正常登录,否则普通用户直接 mysql -u username -p 不能登录成功, 是由于权限问题。
(2)mysql 远程无法访问,也可能是权限问题。
#给mysql用户授权:进入mysql 执行下面的语句
grant all privileges on *.* TO 'username'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
上面的 username 是要给授权的sql用户名,123456是sql密码,’%’ 对应的位置是IP地址,用‘%’表示匹配所有的IP[主要是远程访问的时候]。特别的,当要授权的是root用户时,ip 应写localhost。
查看字符编码
SHOW VARIABLES LIKE ‘character%’;
查看数据库支持哪些引擎
sql语句:
show engines;
查看数据库当前默认使用的存储引擎
sql语句:
show variables like ‘%storage_engine%’;
查看数据库里某个表的信息
sql语句:ENGINE指存储引擎
show create table 表名;
查看表结构信息
sql语句:
desc 表名;
登陆mysql
shell命令:
mysql -u root -p
查看所有数据库
sql语句:
show databases;
使用某个数据库
sql语句:
use 数据库名称;
查看当前数据库中所有表
sql语句:
show tables;