安装使用Mysql
安装MySQL需要使用cmake编译安装
- 第一步都是配置IP地址在这里不多讲
vim /etc/sysconfig/network-scripts/ifcfg-eth0
service network start
- 第二步检测环境卸载rpm安装的mysql,检测依赖包是否存在
rpm -q mysql
rpm -e mysql --nodeps
rpm -q mysql
rpm -qa ncurses
rpm -qa ncurses-devel
-
第三步把旧的mysql用户删除掉,重新创建一个
userdel -r mysql
useradd -M -s /sbin/nologin mysql
第四步先安装cmake源码包下载
用gmake编译安装cmake
tar -zxvf cmake-2.8.6.tar.gz -C /usr/src/
cd /usr/src/cmake-2.8.6/
ls
./configure && gmake && gmake install
第五步安装mysql下载地址
cd /
tar -zxvf mysql-5.5.22.tar.gz -C /usr/src/
cd /usr/src/mysql-5.5.22/
配置
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 指定mysql程序安装路径
-DSYSCONFDIR=/etc 指定初始化参数文件目录
-DDEFAULT_CHARSET=utf8 指定默认使用的字符集编码
-DDEFAULT_COLLATION=utf8_general_ci 指定默认使用字符集校对
-DWITH_EXTRA_CHARSETS=all 指定额外支持的其他字符集编码
编译并安装
make && make install
替换之前的主配置文件
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
路径优化
ln -s /usr/local/mysql/bin/* /usr/local/bin/
初始化数据库
/usr/local/mysql/scripts/mysql_install_db
--user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
添加到系统服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
给执行权限
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
设置环境变量(为了方便在任何目录下使用mysql命令)
echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
./etc/profile 立即生效
启动mysqld服务
service mysqld start
查看运行状态
netstat -anpt | grep mysqld
Mysql服务器默认通过TCP 3306端口提供服务,
通过编辑/etc/my.cnf配置文件中的[mysqld]配置段的 “port = 3306”行,
可以更改监听端口!
第六步简单使用数据库(使用的符号都是英文符号,中文符号会报错)
mysqladmin -u root password 'com.123' 设置密码
mysqladmin -u root -p password '123.com' 更改密码
创建库
create database YY;
先进入YY库,然后创建表
USE YY
创建表
create table 表名 (字段1名称 类型,字段2名称 类型,..., primary key (主键名))
crate table users (
user_name CHAR(16) NOT NUll,
user_passwd CHAR(48),
primary key (user_name)
);
查看当前数据库服务的日志文件信息
SHOW MASTER LOGS;
退出MySQL操作环境
EXIT
查看当前服务器中有哪些库
SHOW DATABASES;
查看当前使用库中有那些表
show tables;
查看表的结构
describe user;
删除一个数据表
drop table YY.users;
删除一个数据库
drop database YY;
插入数据记录
insert into 表名(字段1,字段2,...) values(字段1的值,字段2的值,...)
insert into users(user_name,user_passwd) values('zhangsan', password('123456'));
查询数据记录
select 字段名1,字段名2,... from 表名 where 条件表达式
select * from YY.users; *代表所有,任意字符
select user_name,user_passwd from YY.users where user_name=‘zhangsan’;
修改数据记录
update 表名 set 字段名1=字段值1[,字段名2=字段2值] where 条件表达式
update users set user_name=lisi where user_name=zhangsan
删除数据记录
delete from 表名 where 条件表达式
delete from YY.users where user_name='lisi';
用户授权
FLUSH PRIVLEGES;刷新用户授权信息
授权需要进入mysql库,的user表,无需刷新授权信息
给hh@192.168.1.10授权,密码为123.com,对YY库的所有表拥有所有权限
grant all on YY.* to 'hh'@'192.168.1.10' identified by '123.com';
查看权限
show grants for 'hh'@'192.168.1.10';
撤销权限
revoke all ON YY.* from 'hh'@'192.168.1.10';
删除授权用户
drop user hh@'192.168.1.10'
备份
mysqldump工具可以将数据库导出为SQL脚本,需要恢复时在通过MySQL命令执行导入
备份分为:1.物理备份(直接备份到目录) 2.逻辑备份(mysqldump)
mkdir /backup
tar -zcvf /backup /mysql.tar.gz ../data/
tar -zcvf /backup/`date +%F` mysql.tar.gz data/ 打包 及详细时间
find /backup/ -mtime +30 -exec rm -rf {} \ ; 查找备份30天前的删除
mysqldump -u root -p YY a > /roo/YY.sql 备份数据库和表
mysqldump -u root -p --opt --all -databases > /root/all.sql 备份全部
mysqldump -u root -p YY > /root/YY.sql 备份
mysql -u root -p YY < /root/YY.sql 恢复