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 mysqlWarning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.htmlmysql 25994 0.0 0.9 137800 18400 ? Ssl 10:18 0:10 /usr/sbin/mysqldname 26543 0.0 0.1 8544 2320 pts/2 S+ 11:06 0:00 mysql -u root -pname 27068 0.0 0.1 8388 2064 pts/1 S+ 18:21 0:00 mysql -u root -pname 27917 0.0 0.0 5412 788 pts/3 S+ 21:45 0:00 grep --color=auto mysqlname@ThinkPad:~$ sudo netstat -tap | grep mysqltcp 0 0 localhost:mysql *:* LISTEN 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# http://dev.mysql.com/doc/mysql/en/server-system-variables.html# 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 = 3306socket = /var/run/mysqld/mysqld.sock# Here is entries for some specific programs# The following values assume you have at least 32M ram# This was formally known as [safe_mysqld]. Both versions are currently parsed.[mysqld_safe]socket = /var/run/mysqld/mysqld.socknice = 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 = mysqlsocket = /var/run/mysqld/mysqld.sockport = 3306basedir = /usrdatadir = /var/lib/mysqltmpdir = /tmpskip-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 = 16Mmax_allowed_packet = 16Mthread_stack = 192Kthread_cache_size = 8# This replaces the startup script and checks MyISAM tables if needed# the first time they are touchedmyisam-recover = BACKUP#max_connections = 100#table_cache = 64#thread_concurrency = 10## * Query Cache Configuration#query_cache_limit = 1Mquery_cache_size = 16M## * 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 = 1log_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.logexpire_logs_days = 10max_binlog_size = 100M#binlog_do_db = include_database_name#binlog_ignore_db = include_database_name## * InnoDB## InnoDB is enabled by default with a 10MB 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]quickquote-namesmax_allowed_packet = 16M[mysql]#no-auto-rehash # faster start of mysql but no tab completition[isamchk]key_buffer = 16M## * 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 -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 40Server version: 5.1.58-1ubuntu1 (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 v2 licenseType 'help;' or '\h' for 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
Byemysql> quit
Byemysql> #直接按Ctrl + D
2、卸载MySQL
A)卸载MySQL软件
sudo apt-get autoremove --purge mysql-server-5.1sudo apt-get remove mysql-serversudo apt-get autoremove mysql-serversudo 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
注: 具体MySQL相关操作的学习在后续文章中出现。