tf8_general_ci
#默认字符校对
DWITH_EXTRA_CHARSETS=all?
#指定mysql扩展字符集支持所有的字符集。默认mysql支持所有字符集
?-DWITH_MYISAM_STORAGE_ENGINE=1
?-DWITH_INNOBASE_STORAGE_ENGINE=1
? -DWITH_MEMORY_STORAGE_ENGINE=1?
?#静态编译 Myisam、Innobase、Memory 存储引擎刡 mysql 服务器。这样 mysql 服务器就支持这三 种存储引擎了。?
-DWITH_READLINE=1? #支持readline库 。
?-DENABLED_LOCAL_INFILE=1? #允许从本地导入数据 ,吭用加载本地数据
?-DMYSQL_DATADIR=/server/mysql/data? #mysql数据库存放数据的目录
-DMYSQL_USER=mysql? ? #指定运行mysql服务的用户?
注:具体编译参数参考: http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html?
make
#安装
make install
#清除安装临时文件
make clean
#修改目录拥有者
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
#进入安装路径
cd /usr/local/mysql
#复制服务启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
#启动MySQL服务
service mysqld start
# 设置开机自动启动服务
chkconfig mysqld on
chkconfig? --list mysqld5.5 mysqld5.5? ? ? 0:off 1:off 2:on 3:on 4:on 5:on 6:off?
# 修改MySQL用户root的密码(授权法,例如:你想root用户使用root密码从任何主机连接到mysql服务器)
mysql -u root(进入MySQ终端)
mysql>use mysql;(进入MySQL数据库)
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";(授权root用户使用root password从任何主机连接到mysql服务器)
mysql>update user set Password = password('123456') where User='root';(修改root用户密码为123456)
mysql>flush privileges;(特权)
mysql>exit;(退出)
# 可选:运行安全设置脚本,修改MySQL用户root(不是系统的root!)的密码,禁止root远程连接(防止破解密码),移除test数据库和匿名用户,强烈建议生产服务器使用:
/usr/local/mysql/bin/mysql_secure_installation
=== MySQL的使用 ===
mysql [-h <主机>] [-u <用户名>] [-p] [数据库名]
●更改root管理员的密码
mysql> update mysql.user set password=password('123456') where user='root';
●添加用户admin,允许从任何地方登录MySQL服务器
mysql> insert into user(host,user,password) values("%","admin",password("pwabc"));
●刷新用户授权信息
mysql> flush privileges;
●删除MySQL的空用户
mysql> delete from mysql.user where user='';
●显示数据库结构
mysql> show database;
mysql> show tables;
●显示数据表的结构
DESCRIBE [数据库名.]表名
mysql> use mysql;
mysql> describe user;
●创建新的数据库
CREATE DATABASE 数据库名
mysql> create database mydb;
●创建新的数据表
CREATE TABLE 表名 (字段定义……)
mysql> CREATE TABLE users (user_name CHAR(30) NOT NULL, user_password CHAR(20) NOT NULL DEFAULT '123456', PRIMARY KEY (user_name));
●修改表名
alter table 表名 rename to 新表名
●删除一个数据表
DROP TABLE [数据库名.]表名
mysql> drop table mydb.users;
●删除一个数据库
DROP DATABASE 数据库名
mysql> drop database mydb;
●插入数据记录
INSERT INTO 表名(字段1,字段2,……) VALUES(字段1的值,字段2的值,……)
mysql> insert into mydb.users(user_name,user_password) values('zhangsan',encrypt('123456'));
●查询数据记录
SELECT 字段名1,字段名2…… FROM 表名 WHERE 条件表达???
mysql> select * from mydb.users;
mysql> select user_name,user_password from mydb.user where user_name='zhangsan';
●修改
数据记录
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] WHERE 条件表达式
mysql> update mydb.users set user_password=encrypt('123123') where user_name='list';
●删除数据记录
DELETE FROM 表名 WHERE 条件表达式
mysql> delete from mydb.users where user_name='lisi';
●数据库的备份
mysqldump -u [用户名] -p [密码] [options] [数据库名] [表名] > /备份路径/备份文件名
# 备份整个mydb数据库
mysqldump -u root -p mydb > mysql-mydb.sql
# 备份mysql数据库中的host表、user表
mysqldump -u root -p mysql host user > mysql.host-user.sql
# 备份MySQL服务器中所有数据库
mysqldump -u root -p --all-databases > mysql-all.sql
●恢复数据库
mysql -u root -p [数据库名] < /备份路径/备份文件名
mysql -u root -p < mysql-all.sql
mysql -u root -p mydb < mysql-mydb.sql
●授予权限
GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 [ IDENTIFIED BY '密码' ]
mysql> grant select on mysql.user to admin@'localhost' iden