一:启动和关闭mysql
linux下比如我的mysql是用源码方式安装在/usr/local/mysql自动:将/usr/local/mysql/share/mysql/mysql.server拷贝到/etc/rc.d/init.d/下,然后chkconfig --add mysql.server就可以开机就启动mysql服务了。手动:以root身份执行/usr/local/mysql/bin/mysqld_safe --user=mysql
windows下自动:用cmd方式,到mysql安装路径的bin文件夹下,执行:mysqld-nt --install
手动:直接到到mysql安装路径的bin文件夹下执行net start mysql即可。如果不想让mysql在计算机启动时候就启动服务,执行:mysqld-nt --remove也可以在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services中删除对应服务并重启计算机。关闭mysql:mysqladmin -uroot -p shutdown启动mysql:mysqld-nt --installnet start mysql
二:添加用户并设置权限更新密码
UPDATE user SET Password=PASSWORD('new_password')WHERE user='root';
新建用户并赋予权限
GRANT ALL PRIVILEGES ON *.* TO monty@localhostIDENTIFIED BY 'something' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO monty@"%"IDENTIFIED BY 'something' WITH GRANT OPTION;GRANT RELOAD,PROCESS ON *.* TO admin@localhost;GRANT USAGE ON *.* TO dummy@localhost;
FLUSH PRIVILEGES;
三:添加删除库
CREATE DATABASE db_name
DROP DATABASE [IF EXISTS] db_name
同时可以通过下面代码加默认字符集和默认排序方法。
DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
四:备份和还原
常规备份命令是mysqldump,这里以tm数据库为例,做简单介绍,详细资料参考http://info.mysql.cn/install/2006/0410/5521.html备份:#mysqldump -u root -p tm > tm_20060101.sql按提示输入密码,这就把tm数据库所有的表结构和数据备份到tm_20060101.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,这是可以利用gzip压缩数据,命令如下:#mysqldump -u root -p tm | gzip > tm_20060101.sql.gz还可以备份到远程机器,用-h制定,如#mysqldump -u root -p tm > tm_20060101.sql -h xxx.xxx.xxx.xxx可以直接备份到IP地址为xxx.xxx.xxx.xxx的远程计算机。系统崩溃,重建系统,或恢复数据库时,可以这样恢复数据:#mysql -u root -p tm < tm_20060101.sql从压缩文件直接恢复:#gunzip < tm_20060101.sql.gz | mysql -u root -p tm五:维护和修复表
myisamchk /path/to/datadir/*/*.MYI
myisamchk -r /path/to/datadir/*/*.MYI
六:丢失密码
前提必须先kill掉mysqld的进程。然后用一下命令启动mysqld
linux: .mysqld_safe --skip-grant-tables &windows: mysqld-nt --skip-grant-tables
然后不用密码直接进入mysql,用前面的方法添加或修改用户密码。
六:改变数据库的字符集设置
如果MySQL数据库已经安装好,可以使用下列SQL命令查看MySQL当前的字符集设置: mysql> SHOW VARIABLES LIKE 'character_set_%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 7 rows in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'collation_%'; +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | latin1_swedish_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_ci | +----------------------+-------------------+ 3 rows in set (0.00 sec)
然后依次执行以下语句,然后重启mysql server:
set character_set_client = gbk; set character_set_connection gbk; set character_set_database gbk; set character_set_results gbk; set character_set_server gbk;
set character_set_system = gbk; --此处utf-8也可以--然后执行:SET collation_server = gbk_chinese_ci ;SET collation_database = gbk_chinese_ci ;SET collation_connection = gbk_chinese_ci ;
还差四个,以后在补吧,不想滥竽充数
Technorati : Best Practices, mysql, tips