Mysql(手动编译详细思路,以及增删改查,授权,备份还原)
1:查看是否冗余软件 把系统自带mysql删除
2:下载源码,建目录
3:挂共享解压缩安装目录,进源码包
4:配置
5:编译
6:安装
7:增加服务启动项
8:初始化
9:启动
10:数据库的基本操作 增删改查
11:授权
12:备份以及还原
13:脚本配置文件附解释
第一步:rpm -qa | grep mysql

第二步:ftp://ftp.easynet.be/mysql/Downloads//下载地址
useradd mysql -s /sbin/nologin//加用户指定不能登录系统
mkdir /usr/local/mysql //建目录文件夹


第三步:挂共享 解压缩源码包


关闭防火墙

[root@hao media]# tar zxvf mysql-5.5.24.tar.gz -C /usr/src///解压缩

开始配置,注意:这个版本的数据库 没有configure只有cmake
所以要确定cmake这个软件有没有安装


cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \//指定目录
-DMYSQL_DATADIR=/home/mysql/ \//指定数据目录
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \这个程序也必须有后面都是固定参数,网上很多大神都写出来的 就不做解释了
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \utf编码
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306
-DWITH_SSL=bundled
D如果参数错了 重新加入 并且 把配置缓存文件删除rm -f ./CMakeCache.txt
bison ncurses-devel 2个包必须装 否则也会报错 经验总结!
开始漫长的等待


然后make_install

漫长等待后 终于安装完!
chown -R mysql.mysql /usr/local/mysql
属主属组权限
export PATH=$PATH:/usr/local/mysql/bin/ //修改环境变量

cp support-files/my-medium.cnf /etc/my.cnf//复制配置文件
cp support-files/mysql.server /etc/init.d/mysqld //加入服务
chmod 755 /etc/init.d/mysqld权限
chkconfig --add /etc/init.d/mysqld加入mysqld服务
chkconfig mysqld --level 235 on修改开机启动项

ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock软连接
/usr/local/mysql/scripts/mysql_install_db \初始化
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
vim /etc/init.d/mysqld修改配置文件
basedir=/usr/local/mysql基本目录
datadir=/home/mysql数据目录

service mysqld start
netstat -tnl | grep 3306查看 端口

mysql -u root //登录数据库
-------查看命令----------
mysql> show databases;


mysql> use test;
mysql> show tables;
mysql> describe user; //查看表内容
------------查询命令----------
SELECT字段1,字段名2 FROM表名WHERE条件表达式
mysql> SELECT user,host,password FROM mysql.user WHERE user='';

mysql> select * from users;
----------新增命令-----------
CREATE TABLE表名(字段1名称 类型,字段二名称 类型,PRIMARY KEY(主键名)
mysql>CREATE DATABASE benet;创建
mysql>use benet;
mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT '', PRIMARY
KEY (user_name));

都是SQL基本语句
插入数据INSERT INTO表名(字段1,字段2)VALUES(字段1的值,字段2的值)
mysql> INSERT INTO users(user_name,user_passwd) VALUES('zhangsan', PASSWORD('123456'));
mysql> INSERT INTO users VALUES('lisi', PASSWORD('654321'));
------------删除命令--------------
DROP TABLE删除一个数据表 需要指定 库名和表名
DROP DATABASE删除一个数据库
DELETE FROM表名WHERE条件表达式 删除数据记录
mysql> DELETE FROM users WHERE user='lisi';
mysql> DROP TABLE users;

mysql> DROP DATABASE benet;
----------更改命令---------
UPDATE表名SET字段名1=字段值1 WHERE条件表达式
mysql> UPDATE users SET user_passwd=PASSWORD('abc123') WHERE user_name='lisi';
mysql> UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';
mysql>flush privileges; //刷新授权信息
mysqladmin -u root -p password 'abc123'(新密码)要输入的是旧密码!
mysql -u root -pabc123 //登录

---------------授权命令-------------------
GRANT权限列表ON库名,表名TO用户名@来源地址IDENTIFIED BY密码
mysql> GRANT select ON users TO 'tom'@'192.168.80.%' IDENTIFIED BY '123456';
//新建tom用户密码设置为123456,对其授权只能查询users表。
mysql>flush privileges;
必须要刷新权限
mysql> SHOW GRANTS FOR 'tom'@'192.168.80.%';
mysql> REVOKE all ON user FROM 'helen'@'192.168.80.%';
---------------备份与恢复命令------------------
Mysqldump选项 库名 表名1表名2 > /备份路径/备份文件名 导出库中部分表
Mysqldump选项-- all-databases库名1库名2> /备份路径/备份文件名 备份所有数据库
mysqldump -u root -p --opt --all-databases > all-data.sql //备份所有数据库
mysqldump -u root -p --database auth > auth.sql //备份auth数据库
mysqldump -u root -p mysql user > mysql-user.sql //备份mysql的user表
mysql>create database mysql; //先建立mysql空库
mysql -u root -p mysql
本文转自 cs312779641 51CTO博客,原文链接:http://blog.51cto.com/chenhao6/1225129