2010-03-09 14:56:13 mazhen_null 阅读数 45
  • MySQL 5.7优化视频教程

    MySQL 5.7新增了众多特色功能,诸如Optimizer增强、支持多个触发器、P_S增强、增加sys schema、在线修改VARCHAR长度、并发复制等,对于提升SQL效率都有很大帮助,作为非专业DBA,如何利用这些特性帮助我们做好SQL优化呢?从而实现高性能Mysql,掌握mysql性能优化之道。

    2412 人正在学习 去看看 CSDN讲师
mysql-5.0.67-linux-i686.tar.gz
安装过程:
su 到root 权限。
  #tar -zvxf mysql-5.0.67-linux-i686.tar.gz
  #mv mysql-5.0.67/ /usr/local/mysql
  #cd /usr/local/mysql
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql &


查看日志:

#less /var/log/mysqld.log

#bin/mysqladmin -u root password 123456

# bin/mysql -u root -p

# bin/mysql -u root
使用mysql 提供的脚本
# cp /usr/local/mysql/support-files/mysql.server /usr/local/mysql/bin
# ./mysql.server start 或者#service mysqld start启动mysql
# ./mysql.server stop #service mysqld stop停止mysql
随系统自动启动
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# chkconfig --add mysql
修改mysql超级用户root的密码
# mysqladmin -u root -p password 123456
Enter password:
回车ok.
2018-12-13 19:18:35 wp6ova28 阅读数 124
  • MySQL 5.7优化视频教程

    MySQL 5.7新增了众多特色功能,诸如Optimizer增强、支持多个触发器、P_S增强、增加sys schema、在线修改VARCHAR长度、并发复制等,对于提升SQL效率都有很大帮助,作为非专业DBA,如何利用这些特性帮助我们做好SQL优化呢?从而实现高性能Mysql,掌握mysql性能优化之道。

    2412 人正在学习 去看看 CSDN讲师

centos 系统自带了mysql组件
[root@localhost mysql]# rpm -qa |grep mysql
mysql-libs-5.1.71-1.el6.x86_64
卸载组件
[root@localhost mysql]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
1 解压 安装包
tar –xvf /soft/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz –C /usr/local/
2 修改解压包的名字
mv mysql-5.7.20-linux-glibc2.12 mysql
3 安装 Libaio,numactl依赖
yum install libaio numactl –y
4 创建用户和组,创建目录,修改文件用户和组
groupadd mysql
useradd –r –g mysql mysql
mkdir /usr/local/data
chmod 770 /usr/local/mysql/data
chown -R mysql mysql
chgrp -R mysql mysql

5 创建mysql运行时的日志
mkdir /var/log/mariadb
6 初始化mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

生成的初始密码在首次以root用户登入时使用。
[root@dt01 bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
2017-12-06T12:54:25.429110Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-12-06T12:54:25.751425Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-12-06T12:54:25.835091Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-12-06T12:54:25.909643Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 96d3e0b8-da84-11e7-b484-000c29caf9c5.
2017-12-06T12:54:25.914464Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2017-12-06T12:54:25.919081Z 1 [Note] A temporary password is generated for root@localhost: Nh>g9(Vl/;Jn

其原因是从 5.6开始,timestamp 的默认行为已经是 deprecated 了。
在MySQL 5.6.6之前,TIMESTAMP的默认行为:
•TIMESTAMP列如果没有明确声明NULL属性,默认为NOT NULL。(而其他数据类型,如果没有显示声明为NOT NULL,则允许NULL值。)设置TIMESTAMP的列值为NULL,会自动存储为当前timestamp。
•表中的第一个TIMESTAMP列,如果没有声明NULL属性、DEFAULT或者 ON UPDATE,会自动分配 DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP 属性。
•表中第二个TIMESTAMP列,如果没有声明为NULL或者DEFAULT子句,默认自动分配’0000-00-00 00:00:00′。插入行时没有指明改列的值,该列默认分配’0000-00-00 00:00:00′,且没有警告。
要关闭警告,需要加入下面的参数: [mysqld]
explicit_defaults_for_timestamp=true
重启MySQL后错误消失,这时TIMESTAMP的行为如下:
•TIMESTAMP如果没有显示声明NOT NULL,是允许NULL值的,可以直接设置改列为NULL,而没有默认填充行为。
•TIMESTAMP不会默认分配DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP属性。
•声明为NOT NULL且没有默认子句的TIMESTAMP列是没有默认值的。往数据表中插入列,又没有给TIMESTAMP列赋值时,如果是严格SQL模式,会抛出一 个错误,如果严格SQL模式没有启用,该列会赋值为’0000-00-00 00:00:00′,同时出现一个警告。(这和MySQL处理其他时间类型数据一样,如DATETIME)
也就是 explicit_defaults_for_timestamp 关闭了 timestamp 类型字段锁拥有的一些会让人感到奇怪的默认行为,加入了该参数之后,如果还需要为 timestamp类型的字段指定默认行为,那么就需要显示的在创建表时显示的指定。explicit_defaults_for_timestamp 也就是这个意思:显示指定默认值为timestamp类型的字段

bin/mysql_ssl_rsa_setup – basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

7 将mysql加入到可控制启动服务的文件夹内,并命名mysql,即service可控制的服务名,届时可用service mysql start|stop控制启动及关闭mysql

cp support-files/mysql.server /etc/init.d/mysql

切换到到/etc目录下配置my.cnf

cd /etc/

vi my.cnf

在[mysqld]中添加或者修改一下内容:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock

vi /etc/profile #配置环境变量 添加如下内容

export MYSQL_HOME="/usr/local/mysql"
export PATH=“PATH:PATH:MYSQL_HOME/bin”

source /etc/profile #使配置及时生效

配置开机启动mysql服务

chkconfig --add mysql

chkconfig --level 2345 mysql on

8 启动 mysql
service mysql start
注意: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’, 首先查看mysql 是否启动 ,没有则启动在连接 ,然后在看mysql.sock配置路径是否正确
五、首次登入mysql

mysql -u root -p

Enter password:输入之前生成的临时密码
mysql> SET PASSWORD = PASSWORD(‘123456’);
六、防火墙
CentOS升级到7之后,使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload #重启防火墙

七、常见问题
1、Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
处理:修改vi my.cnf中的socket=/tmp/mysql.sock"。

安装成功 :
[root@dt01 bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
2017-12-06T12:54:25.429110Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-12-06T12:54:25.751425Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-12-06T12:54:25.835091Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-12-06T12:54:25.909643Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 96d3e0b8-da84-11e7-b484-000c29caf9c5.
2017-12-06T12:54:25.914464Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2017-12-06T12:54:25.919081Z 1 [Note] A temporary password is generated for root@localhost: Nh>g9(Vl/;Jn

方法1: 用SET PASSWORD命令
  mysql -u root
  mysql> SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘newpass’);
方法2:用mysqladmin
  mysqladmin -u root password “newpass”
  如果root已经设置过密码,采用如下方法
  mysqladmin -u root password oldpass “newpass”
方法3: 用UPDATE直接编辑user表
  mysql -u root
  mysql> use mysql;
  mysql> UPDATE user SET Password = PASSWORD(‘newpass’) WHERE user = ‘root’;
  mysql> FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
  mysqld_safe --skip-grant-tables&
  mysql -u root mysql
  mysql> UPDATE user SET password=PASSWORD(“new password”) WHERE user=‘root’;
  mysql> FLUSH PRIVILEGES;

远程服务器不允许你的java程序访问它的数据库。所以,我们要对远程服务器进行设置,使它允许你进行连接。
步骤:
一、打开mysql控制台,输入:use mysql;
二、输入:show tables;
三、输入:select host from user;
四、输入:update user set host =’%’ where user =‘root’;
五、打开计算机的服务界面,重新启动mysql服务,远程服务器就允许程序连接数据库了。

解决mysql 只能通过localhost 不能通过 ip访问的问题

1 选择mysql数据库
2 授权
grant all privileges on . to ’root’@’%’ identified by ’123456’;
3 刷新权限
flush privileges;
4 重启mysql
检查防火墙是否过滤掉端口

mysql 主从

主数据库配置

  1. 修改 /etc/my.cnf 添加如下内容
    server-id=200 #设置主服务器的ID
    innodb_flush_log_at_trx_commit=2
    sync_binlog=1 #开启binlog日志同步功能
    log-bin=mysql-bin-200 #binlog日志文件名
    binlog-do-db=xxxx # 这个表示只同步某个库 (如果没有此项,表示同步所有的库)
  2. 重启mysql ,然后登录mysql
  3. 授权
    mysql> grant replication slave on . to ‘root’@‘192.168.2.222’ identified by ‘123456’;
    ##授权给从数据库服务器192.168.2.222,用户名root,密码123456
  4. mysql>show master status ;

##查看主库的状态 file,position这两个值很有用。要放到slave配置中(分别对应的值master_log_file和master_log_pos的值)

从数据库配置
1) 修改 /etc/my.cnf 配置文件 ,加入一下内容
server-id=201
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-201

  1. 重启mysql ,然后登录mysql

  2. 授权
    mysql> change master to master_host=‘192.168.2.118’,master_user=‘root’,master_password=‘123456’,master_log_file=‘mysql-bin-200.000001’,master_log_pos=441;

  3. 开启和关闭从库(start slave/stop slave)
    mysql> start slave;
    Query OK, 0 rows affected (0.01 sec)

  4. 查看状态
    mysql> show slave status \G;

mysql> show slave status \G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.2.118 #主库地址
Master_User: root #主库用户
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin-200.000001
Read_Master_Log_Pos: 441
Relay_Log_File: localhost-relay-bin.000002
Relay_Log_Pos: 324
Relay_Master_Log_File: mysql-bin-200.000001
Slave_IO_Running: Yes # slave_io_running:yes 和slave_sql_
Slave_SQL_Running: Yes # running:yes 表示 配置成功
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 441
Relay_Log_Space: 535
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 200
Master_UUID: eefd984e-10aa-11e8-aeb7-000c29c9cbb7
Master_Info_File: /usr/local/mysql/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:

验证

  1. 在主库建一个数据库,在从库查看是否有
  2. 在主库创建一个表,在从库中查看
  3. 在主库插入一条数据,在从库查看
2009-11-19 14:54:22 iteye_10949 阅读数 76
  • MySQL 5.7优化视频教程

    MySQL 5.7新增了众多特色功能,诸如Optimizer增强、支持多个触发器、P_S增强、增加sys schema、在线修改VARCHAR长度、并发复制等,对于提升SQL效率都有很大帮助,作为非专业DBA,如何利用这些特性帮助我们做好SQL优化呢?从而实现高性能Mysql,掌握mysql性能优化之道。

    2412 人正在学习 去看看 CSDN讲师

(1)

      -------------预备工作----------

      1:假如下载的文件名为:mysql-5.0.45.tar.gz

      2:假如copy到 /home下

      3:groupadd mysql #添加mysql组

      4:useradd -g mysql mysql #添加一个mysql用户

      5:cd /home #进入到该目录

 

      -----------------------编译过程-----------------------

      6:tar zxvf mysql-5.0.45.tar.gz #解压后,在该目录下会出现一个同名的文件夹

      7:cd /home/mysql-5.0.45

      8:./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=latin1 #参数设置,可以先不明白,以后再修改配置

      9:make

      10:make install

      11:cp support-files/my-medium.cnf /etc/my.cnf #如果/etc/my.cnf已存在,则先备份,再删除

      12:vi /etc/my.cnf #将log-bin=mysql-bin注释掉

 

      ----------------------------安装并初步配置mysql--------------------------

      13:cd /usr/local/mysql

       14:bin/mysql_install_db --user=mysql #初始化mysql

      15:chown -R root . #改当前目录的捅有者为root。注意,最后有个 . 啊,表示当前目录

      16:chown -R mysql /usr/local/mysql/var #-R表示递归之下的所有目录

      17:chgrp -R mysql /usr/local/mysql #改变目录所属为mysql

      18:bin/mysqld_safe --user=mysql & #启动mysql

 

      -----------------------------------------更改mysql的root用户密码----------------------------

      19:bin/ mysqladmin -uroot password 123456 #在mysql政党启动的情况下,更改root用户的登录密码

      20:bin/ mysql -uroot -p #输入此命令后,会提示你输入root用户密码123456,

      21:show databases; #如果查出所有数据库,就恭喜你了

 

      ------------------------------------------------------把mysql加入到系统服务中-------------------------------------

      22:cp  /usr/local/mysql/share/mysql/mysql.server  /etc/init.d/mysqld      

             chkconfig --add  mysqld #加入到系统服务中,就可以通过service mysqld start|stop|status|restart等进行管理,很是方便,就不用再到/usr/local/mysql5.0.45/bin/启动 mysql了

 

      ------------------------------------------------------------------配置 mysql环境变量------------------------------------------------

      23:cd /root #回到你的个人主目录,我这里是用root登陆的

             cp .bashrc .bashrc.bak #备份一下吧

             vi .bashrc

             在最后加入:export PATH=/usr/local/mysql/bin:$PATH:.
             source ~/.bashrc #回到终端再输入此命令,以使刚修改的起作用,~代表用户主目录

             env #查看一下是否生效

      24:此是用来替换23步的一种方法

             cp /usr/local/mysql/bin/mysql   /usr/bin/mysql #把mysql常用的工具目录加入到系统变量目录中去,自己选择性加,这样做主要是可以直接运行该工具,而不需要切换到该 目录下,类似于添加环境变量了

 

      ------------------------------------------------------------------------------- 让Linux开放3306端口-------------------------------------------

      25:service iptables stop

             vi /etc/sysconfig/iptables

             -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

             service iptables start

 

      ------------------------------------------------------------------------------- 给root用户开启mysql远程访问权限--------------------------------------------

      26:shutdown -hr now #重启

             ps -e | grep mysql #查看mysql是否已随开机启动,或者输入:service mysqld status

             mysql -uroot -p #进入mysql

             输入root用户的密码

             grant all privileges on *.* to root@'%'  identified by '123456';

             #grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

             flush privileges; #为了开发方便,可以让root用户具有远程访问的权限

             #最后,再附上一个很好用的mysql客户端,http://download.csdn.net/source/924456

 

(2)默认的mysql数据库目录是 /usr/local/mysql-5.0.45/var

        我们在安装时指定了安装目录为/usr/local/mysql-5.0.45,除了在这里安装所要的文件外,还有一部分用户常用的,可执行二进制文件被 放到了/usr/bin中,其实,在/usr/local/mysql-5.0.45/bin下,全都有这些命令了,之所以要在/usr/bin中把那几 个命令考过来,就是为了方便,相当于设置环境变量了,你可以echo $PATH一下,里面一定有/usr/bin这个值的。

         明白了安装过程,删除mysql也就不足为难了

 

 (3)通过一个完整的例子,自己会学到很多东西,linux常用命令还真需要自己来,整理记录

        Fighting And Keep Moving!!

2013-01-30 15:03:48 erhaiou 阅读数 60
  • MySQL 5.7优化视频教程

    MySQL 5.7新增了众多特色功能,诸如Optimizer增强、支持多个触发器、P_S增强、增加sys schema、在线修改VARCHAR长度、并发复制等,对于提升SQL效率都有很大帮助,作为非专业DBA,如何利用这些特性帮助我们做好SQL优化呢?从而实现高性能Mysql,掌握mysql性能优化之道。

    2412 人正在学习 去看看 CSDN讲师

1. 打开mysql5.1.67下载页面 http://dev.mysql.com/downloads/mysql/5.0.html#downloads

 

2. 下载的文件名为mysql-5.1.67.tar.gz。

 

3. 将下载的mysql5.1.67.tar.gz拷贝到/usr/local目录。

 

4. 解压tar包,命令为:tar zxvf mysql-5.1.67.tar.gz。

 

5. 将mysql-5.1.67目录改名为mysql,命令为:mv mysql-5.1.67 mysql。

 

6. 进入/usr/local/mysql目录  ===> 源文件目录

 

7. 依次运行如下命令:
   ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extral-charsets=all --enable-thread-safe-client
   make
   make install

8. 创建mysql 用户,命令如下:
   groupadd mysql
   useradd -g mysql mysql

 

9. cp support-files/my-medium.cnf /etc/my.cnf

 

10.安装数据库
   chown -R mysql:mysql /usr/local/mysql ;改变mysql目录的所有者。
   /usr/local/mysql/scripts/mysql_install_db --user=mysql,以mysql用户安装数据库
   chown -R root:root /usr/local/mysql 改变mysql目录的所有者
   chmod -R 755 /usr/local/mysql
   chown -R mysql:mysql /usr/local/mysql/var 改变var目录的所有者 

 

11. 在后台进程中启动mysql服务器
   方法一:/usr/local/mysql/bin/mysqld_safe --user=mysql &
   方法二:进入/usr/local/mysql/support-files目录,然后启动数据库服务器,命令如下:./mysql.server start。  mysql.server脚本调用mysqld_safe来启动服务器。

 

12.查看mysql服务是否启动,在当前终端,按“enter”键后,运行
   netstat -ant,如果能找到3306端口,说明mysql已经启动。

 

13.登录到mysql数据库服务器
   进入/usr/local/mysql/bin目录,然后运行如下命令:./mysql -u root -p
   提示输入密码,root默认的密码为空,所以直接“回车”,便登录到了数据库服务器。然后便能对数据库进行各种操作了。

 

14.把mysql命令添加到环境变量中
   echo "export PATH=&PATH:/usr/local/bin">>/etc/profile
   source /etc/profile;使环境变量立即生效。

 

15.将mysql设为开机自动启动
   cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
   chmod 755 /etc/init.d/mysqld
   chkconfig --add mysqld
   chkconfig --level 345 mysqld on

2013-12-01 14:58:08 phoenix_cat 阅读数 40
  • MySQL 5.7优化视频教程

    MySQL 5.7新增了众多特色功能,诸如Optimizer增强、支持多个触发器、P_S增强、增加sys schema、在线修改VARCHAR长度、并发复制等,对于提升SQL效率都有很大帮助,作为非专业DBA,如何利用这些特性帮助我们做好SQL优化呢?从而实现高性能Mysql,掌握mysql性能优化之道。

    2412 人正在学习 去看看 CSDN讲师

0.mysql-standard-5.0.27-linux-i686-glibc23.tar下载地址

http://downloads.skysql.com/archive/signature/p/mysql/f/mysql-5.0.27.tar.gz/v/5.0.27

http://down.51cto.com/data/753885 

 

 

 

1.mysql-5.0.45-linux-i686-icc-glibc23.tar.gz 下载地址:

http://downloads.skysql.com/archives/mysql-5.0/mysql-5.0.45-linux-i686-icc-glibc23.tar.gz 

 

refurl:http://downloads.skysql.com/archive/signature/p/mysql/f/mysql-5.0.45-linux-i686-icc-glibc23.tar.gz/v/5.0.45

 

 2.mysql-5.7.1-m11-linux-glibc2.5-i686.tar.gz

下载地址:http://ftp.nchu.edu.tw/Unix/Database/MySQL/Downloads/MySQL-5.7/

 

 

 

 

 

 

 

 

 

 

linux下安装mysql5.7

阅读数 1320

没有更多推荐了,返回首页