本文共 3784 字,大约阅读时间需要 12 分钟。
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 < mysql.sql //将备份还原到mysql数据库中。
转载地址:http://lkcyx.baihongyu.com/