• 欢迎访问VPS岛网站,国外VPS,国内VPS,国外服务器,国内服务器,服务器主机,测评及优惠码,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站 QQ群

MYSQL

mysql技术 Diazepan 85次浏览 已收录 0个评论
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
    安装部署MYSQL----
    源码安装mysql
    初始化:[root@bogon mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/(出现两个ok代表初始化成功)
    修改启动脚本:cp /usr/local/mysql/./support-files/my-small.cnf /etc/my.cnf---cp /usr/local/mysql/support-files/mysql.server
    启动脚本:/etc/init.d/mysqld
    对mysql授权:[root@bogon ~]# chmod +x /etc/init.d/mysqld
    启动mysql数据库:[root@bogon mysql]# /etc/init.d/mysqld start
    出现Starting MySQL.... SUCCESS!----启动成功!
    修改变量环境:
    vim /etc/profile,末行加PATH="/usr/local/mysql/bin:$PATH",保存并退出
    重启[root@bogon ~]# source /etc/profile

    设定root密码 [root@bogon ~]# mysqladmin -u root password "szz521"
    创建用户---create user 'system'@'192.168.1.%' identified by 'linux'
    赋予用户权限 mysql>grant all on *.* to 'system'@'localhost' identified by 'szz521';---赋权的同时创建用户并设定密码
    切记!!每次操作完都要刷新flush privileges;
    数据库基本操作(增删改查)

查: select 索引 from库.表 where 索引=”;
show tables;查表(必须在库中执行)
desc 表名\G 查找表的结构
show tables from linux;—查看linux库下所有表
select database();—相当于pwd,当前所在库
select user();—查看当前用户
增:
create database 库名;—创建库
先进入库—mysql> create table Cloud(id int(16),Name char(32),Age int(2));
数据 mysql> insert into Cloud(id,Name,Age)values(1,"diazepa m",18);
mysqladmin -uroot password "thinkmo"—创建密码为thinkmo的root用户
create database linux character set gbk—默认字符集为gbk
create index ind_name_dept on 表名(内容1,内容2);—-创建联合索引
create unique index uni_ind_name on student(name);
alter table test add age tinyint(2) after id;—在字段name前插入age字段,类型为tinyint(2)
改:
update—update user set user=’linux’ where user=’system’—把用户名system改成linux
删:
drop database 库名;
delete from mysql.user where user=’root’—删除mysq库中的user表中的root用户
pkill mysqld—关闭数据库
mysqladmin -uroot -pthinkmo shutdown—优雅删除

prompt \u@localhost \r:\m:\s ->---修改mysql提示符,localhost为用户名+时间(临时修改)
忘记mysql密码找回:

1.停止mysql
2.mysql_safe –skip-grant-tables –user=mysql &
3.刷新,退出,重启

安全策略:

a.为root设置复杂的密码—mysqladmin -u用户名 password "密码";更改密码—在mysql里—update mysql.user set password=password(‘linux123′) where user=’root’ and host=’localhost’;—刷新flush privileges; b.删除无用的mysql内账户,只留下root@localhost
br/>b.删除无用的mysql内账户,只留下root@localhost<br/
c.删除默认test库
d.删除用户的时候,授权尽量小
*e.针对数据用户处理,更严格一些,root用户要被删除,重新制定管理用户

mysql主从备份
必要条件:

1.主库开启binlog功能
2.主库要建立(授权)账号
3.从库要配置master的信息(change master to)
4.从库开启slave进程
两台服务器(master,slave)
安装mysql/mariadb
vim /etc/my.cnf
主[mysqld]下加入:log-bin=mysqlbinlog—server-id=1
systemctl start mariadb
grant replication slave on . to ‘用户名’@’从服务器ip地址’ identified by ‘从服务器mysql密码’
flush privileges;
从[mysqld]下加入:server-id=3
systemctl start mariadb
主,mysql> flush table with read lock—锁库
mysql> show master status;
mysqldump -A –events > backup.sql
scp backup.sql 从库ip地址:/root/
从,mysql < backup.sql—将backup.sql导入
主,mysql> unlock table;
从,change master to master_host=’主库ip’,master_port=3306,master_user=’slave’,master_password=’密码 ‘,master_log_file=’同步文件名(show master status;)’,master_log_pos=(show master status;)
start slave;
主从复制延迟的原因&解决方案:
1.一个主库-从库太多-复制延迟—–建议从库3-5台
2.慢SQL语句过多(语句太长太复杂)-语句优化
3.从库硬件比主库差—–查看主从库系统配置(磁盘IO、CPU、内存等)
4.设计问题 


VPS岛 的文章和资源来自互联网,仅作为参考资料,如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。丨 转载请注明MYSQL
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址