1、MySQL安装
A)MySQL安装: sudo apt-get install mysql-server mysql-client
B)启动/停止MySQL服务:
MySQL 在安装以后,MySQL 就已经启动;如果需要手动启动或停止则如下操作:
手动启动服务: sudo start mysql
手动停止服务: sudo stop mysql
当修改mysql相关配置的时候,需要手动重启MySQL服务,就需要如上操作。
查看mysql进程是否已经启动:
ps -aux | grep mysql |
#ps -aux 显示当前所有进程(包括 mysql , 和 name 用户 ), grep mysql 用来查找 mysql 进程 ;具体使用可以查看 ps, grep 用法
#man ps ; man grep
或者使用:
sudo netstat -tap | grep mysql |
两种命令的结果:
name@ThinkPad:~$ ps -aux | grep mysql mysql 25994 0.0 0.9 18400 ? Ssl 10: 18
10 /usr/sbin/mysqld name 26543 0.0 0.1 2320 pts/ 2 S+ 11: 06 0: 00
name 27068 0.0 0.1 2064 pts/ 1 S+ 18: 21 0: 00
name 27917 0.0 0.0 788 pts/ 3 S+ 21: 45 0: 00
auto mysql name@ThinkPad:~$ sudo netstat -tap | grep mysql tcp 0 0
25994 /mysqld |
C)MySQL 配置文件结构:
MySQL 配置文件为 my.cnf , 位置在 /etc/my.cnf 以及 /etc/mysql/my.cnf
# # The MySQL database server configuration file. # # You can copy this to one of: # - "/etc/mysql/my.cnf" to set global options, # - "~/.my.cnf" to set user-specific options. # # One can use all long options that the program supports. # Run program with -- help to get a list of available options and with # --print-defaults to see which it would actually understand and use. # # For explanations see # This will be passed to all mysql clients # It has been reported that passwords should be enclosed with ticks/quotes # escpecially if they contain "#" chars... # Remember to edit /etc/mysql/debian.cnf when changing the socket location. [client] port = 3306 socket = /var/run/mysqld/mysqld.sock # Here is entries for some specific programs # The following values assume you have at least 32 M ram # This was formally known as [safe_mysqld]. Both versions are currently parsed. [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] # # * Basic Settings # # # * IMPORTANT # If you make changes to these settings and your system uses apparmor, you may # also need to also adjust /etc/apparmor.d/usr.sbin.mysqld. # user = mysql socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0 . 0.1 # # * Fine Tuning # key_buffer = 16 M max_allowed_packet = 16 M thread_stack = 192 K thread_cache_size = 8 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover = BACKUP #max_connections = 100 #table_cache = 64 #thread_concurrency = 10 # # * Query Cache Configuration # query_cache_limit = 1 M query_cache_size = 16 M # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. # As of 5.1 you can enable the log at runtime! #general_log_file = /var/log/mysql/mysql.log #general_log = 1 log_error = /var/log/mysql/error.log # Here you can see queries with especially long duration #log_slow_queries = /var/log/mysql/mysql- slow .log #long_query_time = 2 #log-queries-not-using-indexes # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. #server-id = 1 #log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100 M #binlog_do_db = include_database_name #binlog_ignore_db = include_database_name # # * InnoDB # # InnoDB is enabled by default with a 10 MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! # # * Security Features # # Read the manual, too, if you want chroot! # chroot = /var/lib/mysql/ # # For generating SSL certificates I recommend the OpenSSL GUI "tinyca" . # # ssl-ca=/etc/mysql/cacert.pem # ssl-cert=/etc/mysql/server-cert.pem # ssl-key=/etc/mysql/server-key.pem [mysqldump] quick quote-names max_allowed_packet = 16 M [mysql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 16 M # # * IMPORTANT: Additional settings that can override those from this file! # The files must end with '.cnf' , otherwise they'll be ignored. # !includedir /etc/mysql/conf.d/ |
在启动MySQL的时候会通过读取配置文件my.cnf ,并根据这个文件的路径: /var/run/mysqld/mysqld.sock 启动MySQL
datadir = /var/lib/mysql #这句是数据库所在位置,比如如果创建一个数据库mysql_first,则数据库文件放置在该目录下。
log_error = /var/log/mysql/error.log # mysql错误文件,如果在执行mysql出错了,可以查看该文件。
D)进入MySQL
进入MySQL一般需要密码, 除非使用 safe_mysql
如果不提供密码则会出现如下错误提示:
ERROR 1045 ( 28000 ): Access denied for user 'name' @ 'localhost' (using password: NO) |
这是因为在安装MySQL输入了密码,需要提供密码;
具体:
name@ThinkPad:~$ sudo mysql -u root -p Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 40 Server version: 5.1 . 58 -1 ubuntu 1 (Ubuntu) Copyright (c) 2000 , 2010 , Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v 2 license Type 'help;' or '\h'
help . Type '\c' to clear the current input statement. mysql> |
sudo mysql -u root -p # 这里的几个参数: u 表示 user ,后面是参数; p 表示 password ,会在后面有 Enter password: 提示
也可以直接提供用户和密码(使用 -- )
sudo mysql --user=root --password=123456
C)退出MySQL
主要有三种方式:
mysql> exit
Bye
mysql> quit
Bye
mysql> #直接按Ctrl + D
2、卸载MySQL
A)卸载MySQL软件
sudo apt-get autoremove --purge mysql-server -5.1 sudo apt-get remove mysql-server sudo apt-get autoremove mysql-server sudo apt-get remove mysql-common |
sudo apt-get autoremove --purge mysql-server-5.1 # 中 mysql-server-5.1是系统安装的 mysql-server版本
B)清理其他数据
dpkg -l |grep ^rc|awk
'{print $2}'
|sudo xargs dpkg -P