搜索
首页数据库mysql教程MySQL-5.6+MySQL-Proxy构建主从复制与读写分离_MySQL

环境:

系统:CentOS-6.5

MySQL-master

IP:192.168.1.10

MySQL-slave

IP:192.168.1.11

Proxry

IP:192.167.1.12

——安装MySQL

1)创建mysql用户

[root@mater ~]# mysql -M -s /sbin/nologin mysql

[root@master ~]# yum install gcc gcc-c++ autoconf automake ncurses-devel libtool-ltdl-devel* libaio libaio-devel -y

3)解压安装MySQL [这里下载的是免安装版本]

[root@master linux]# tar fzvx mysql-5.6.16-linux-x86_64.tar.gz -C /usr/local/

[root@master linux]# mv mysql-5.6.16-linux-x86_64 mysql

[root@master local]# cd mysql/

[root@master mysql]# chown -R root:mysql .

[root@master mysql]# chown -R mysql:mysql data/

[root@master mysql]# ./scripts/mysql_install_db --user=mysql /

> --basedir=/usr/local/mysql/ /

> --datadir=/usr/local/mysql/data/

WARNING: The host 'master' could not be looked up with /usr/local/mysql//bin/resolveip.

This probably means that your libc libraries are not 100 % compatible

with this binary MySQL version. The MySQL daemon, mysqld, should work

normally with the exception that host name resolving will not work.

This means that you should use IP addresses instead of hostnames

when specifying MySQL privileges !

Installing MySQL system tables...2014-04-26 19:57:06 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2014-04-26 19:57:06 1258 [Note] InnoDB: Using atomics to ref count buffer pool pages

2014-04-26 19:57:06 1258 [Note] InnoDB: The InnoDB memory heap is disabled

2014-04-26 19:57:06 1258 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2014-04-26 19:57:06 1258 [Note] InnoDB: Compressed tables use zlib 1.2.3

2014-04-26 19:57:06 1258 [Note] InnoDB: Using Linux native AIO

2014-04-26 19:57:06 1258 [Note] InnoDB: Using CPU crc32 instructions

2014-04-26 19:57:06 1258 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2014-04-26 19:57:07 1258 [Note] InnoDB: Completed initialization of buffer pool

2014-04-26 19:57:07 1258 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!

2014-04-26 19:57:07 1258 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB

2014-04-26 19:57:07 1258 [Note] InnoDB: Database physically writes the file full: wait...

2014-04-26 19:57:07 1258 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB

2014-04-26 19:57:11 1258 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB

2014-04-26 19:57:15 1258 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0

2014-04-26 19:57:15 1258 [Warning] InnoDB: New log files created, LSN=45781

2014-04-26 19:57:15 1258 [Note] InnoDB: Doublewrite buffer not found: creating new

2014-04-26 19:57:15 1258 [Note] InnoDB: Doublewrite buffer created

2014-04-26 19:57:15 1258 [Note] InnoDB: 128 rollback segment(s) are active.

2014-04-26 19:57:15 1258 [Warning] InnoDB: Creating foreign key constraint system tables.

2014-04-26 19:57:16 1258 [Note] InnoDB: Foreign key constraint system tables created

2014-04-26 19:57:16 1258 [Note] InnoDB: Creating tablespace and datafile system tables.

2014-04-26 19:57:16 1258 [Note] InnoDB: Tablespace and datafile system tables created.

2014-04-26 19:57:16 1258 [Note] InnoDB: Waiting for purge to start

2014-04-26 19:57:16 1258 [Note] InnoDB: 5.6.16 started; log sequence number 0

2014-04-26 19:57:16 1258 [Note] RSA private key file not found: /usr/local/mysql/data//private_key.pem. Some authentication plugins will not work.

2014-04-26 19:57:16 1258 [Note] RSA public key file not found: /usr/local/mysql/data//public_key.pem. Some authentication plugins will not work.

2014-04-26 19:57:17 1258 [Note] Binlog end

2014-04-26 19:57:17 1258 [Note] InnoDB: FTS optimize thread exiting.

2014-04-26 19:57:17 1258 [Note] InnoDB: Starting shutdown...

2014-04-26 19:57:19 1258 [Note] InnoDB: Shutdown completed; log sequence number 1625977

OK

Filling help tables...2014-04-26 19:57:19 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2014-04-26 19:57:19 1281 [Note] InnoDB: Using atomics to ref count buffer pool pages

2014-04-26 19:57:19 1281 [Note] InnoDB: The InnoDB memory heap is disabled

2014-04-26 19:57:19 1281 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2014-04-26 19:57:19 1281 [Note] InnoDB: Compressed tables use zlib 1.2.3

2014-04-26 19:57:19 1281 [Note] InnoDB: Using Linux native AIO

2014-04-26 19:57:19 1281 [Note] InnoDB: Using CPU crc32 instructions

2014-04-26 19:57:19 1281 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2014-04-26 19:57:19 1281 [Note] InnoDB: Completed initialization of buffer pool

2014-04-26 19:57:19 1281 [Note] InnoDB: Highest supported file format is Barracuda.

2014-04-26 19:57:19 1281 [Note] InnoDB: 128 rollback segment(s) are active.

2014-04-26 19:57:19 1281 [Note] InnoDB: Waiting for purge to start

2014-04-26 19:57:19 1281 [Note] InnoDB: 5.6.16 started; log sequence number 1625977

2014-04-26 19:57:19 1281 [Note] RSA private key file not found: /usr/local/mysql/data//private_key.pem. Some authentication plugins will not work.

2014-04-26 19:57:19 1281 [Note] RSA public key file not found: /usr/local/mysql/data//public_key.pem. Some authentication plugins will not work.

2014-04-26 19:57:19 1281 [Note] Binlog end

2014-04-26 19:57:19 1281 [Note] InnoDB: FTS optimize thread exiting.

2014-04-26 19:57:19 1281 [Note] InnoDB: Starting shutdown...

2014-04-26 19:57:21 1281 [Note] InnoDB: Shutdown completed; log sequence number 1625987

OK

To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

  /usr/local/mysql//bin/mysqladmin -u root password 'new-password'

  /usr/local/mysql//bin/mysqladmin -u root -h master password 'new-password'

Alternatively you can run:

  /usr/local/mysql//bin/mysql_secure_installation

which will also give you the option of removing the test

databases and anonymous user created by default.  This is

strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

  cd . ; /usr/local/mysql//bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

  cd mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

  http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

New default config file was created as /usr/local/mysql//my.cnf and

will be used by default by the server when you start it.

You may edit this file to change server settings

WARNING: Default config file /etc/my.cnf exists on the system

This file will be read by default by the MySQL server

If you do not want to use this, either remove it, or use the

--defaults-file argument to mysqld_safe when starting the server.


4)复制配置文件并设置启动脚本

[root@node1 mysql]# cp my.cnf /etc/my.cnf

cp:是否覆盖"/etc/my.cnf"? y

[root@node1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld[root@master mysql]# chmod +x /etc/init.d/mysqld

[root@master mysql]# chkconfig --add mysqld

[root@master mysql]# chkconfig mysqld on

[root@master mysql]# mkdir /usr/local/mysql/logs

[root@master mysql]# chown -R mysql:mysql /usr/local/mysql/logs/

[root@master mysql]# vi /etc/my.cnf

[mysqld]

#开启二进制日志

log-bin = /usr/local/mysql/logs/sql-bin

#唯一编号 [一般取IP的后两位]

server_id = 10

[root@master mysql]# vi /etc/profile.d/mysql.sh

PATH=$PATH:/usr/local/mysql/bin:

[root@master mysql]# source /etc/profile

[root@master mysql]# service mysqld start

Starting MySQL............ SUCCESS!

[root@master mysql]# netstat -antup |grep 3306

tcp        0      0 :::3306                    :::*                        LISTEN      1768/mysqld

#salve步骤一样,这里省略...

1)在master上的MySQL创建相关用户

[root@node1 mysql]# mysql -u root

Welcome to the MySQL monitor.  Commands end with ; or /g.

Your MySQL connection id is 1

Server version: 5.6.16-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)

Copyright (c) 2000, 2014,Oracleand/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.

mysql> grant replication slave on *.* to 'repl'@'192.168.1.11' identified by '12345';

Query OK, 0 rows affected (1.49 sec)

mysql> show master status;

+----------------+----------+--------------+------------------+-------------------+

| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+----------------+----------+--------------+------------------+-------------------+

| sql-bin.000001 |      120 |              |                  |                  |

+----------------+----------+--------------+------------------+-------------------+

1 row in set (0.12 sec)

[root@slave ~]# mysql -u root

Welcome to the MySQL monitor. Commands end with ; or /g.

Your MySQL connection id is 3

Server version: 5.5.25-log Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.

mysql> change master to[root@slave1 ~]# mysql -u root

Welcome to the MySQL monitor. Commands end with ; or /g.

Your MySQL connection id is 3

Server version: 5.5.25-log Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.

mysql> change master to

  -> master_host='192.168.1.254',

  -> master_user='repl',

  -> master_password='12345',

  -> master_log_file='sql-bin.000001',

  -> master_log_pos=120;

Query OK, 0 rows affected (0.25 sec)


4)启动slave检测是否同步成功

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

mysql> show slave status/G;

*************************** 1. row ***************************

              Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.1.10

                  Master_User: repl

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: sql-bin.000001

          Read_Master_Log_Pos: 120

              Relay_Log_File: node2-relay-bin.000002

                Relay_Log_Pos: 281

        Relay_Master_Log_File: sql-bin.000001

            Slave_IO_Running: Yes        #为Yes说明成功

            Slave_SQL_Running: Yes        #为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: 120

              Relay_Log_Space: 454

              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: 10

                  Master_UUID: 8c55a12b-cd22-11e3-bc81-0050563f4084

            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 the slave I/O thread to update it

          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

1 row in set (0.05 sec)

ERROR:

No query specified

1)在master创建一个数据表

mysql> create database user;

Query OK, 1 row affected (0.10 sec)

mysql> create table user.test1(id int);

Query OK, 0 rows affected (0.80 sec)

mysql> insert into user.test1 values(1);

Query OK, 1 row affected (0.12 sec)

mysql> insert into user.test1 values(2);

Query OK, 1 row affected (0.15 sec)

mysql> select * from user.test1;

+------+

| id  |

+------+

|    1 |

|    2 |

+------+

2 rows in set (0.02 sec)

mysql> show databases;

+--------------------+

| Database          |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test              |

| user              |

+--------------------+

5 rows in set (0.34 sec)

mysql> select * from user.test1;

+------+

| id  |

+------+

|    1 |

|    2 |

+------+

2 rows in set (0.04 sec)

#说明同步完成。

1)创建相关用户和组

[root@Proxy ~]# groupadd -g 3306 mysql-proxy

[root@Proxy ~]# useradd -u 3306 -g mysql-proxy -s /sbin/nologin -M mysql-proxy


2)编译安装mysql-proxy

[root@Proxy ~]# cd /Linux/

[root@Proxy Linux]# tar zfvx mysql-proxy-0.8.3-linux-rhel5-x86-64bit.tar.gz -C /usr/local/

[root@Proxy local]# mv mysql-proxy-0.8.3-linux-rhel5-x86-64bit/ mysql-proxy

[root@Proxy local]# cd mysql-proxy/

[root@Proxy mysql-proxy]# chown -R root:mysql-proxy .


3)设置mysql-proxy环境变量

[root@Proxy mysql-proxy]# vi /etc/profile.d/mysql-proxy.sh

export PATH=$PATH:/usr/local/mysql-proxy/bin

[root@Proxy mysql-proxy]# source /etc/profile

[root@Proxy mysql-proxy]# mysql-proxy --daemon --log-level=debug /

--log-file=/var/log/mysql-proxy.log --plugins="proxy" /

--proxy-backend-addresses="192.168.1.10:3306" /

--proxy-read-only-backend-addresses="192.168.1.11:3306"


5)查看是否启动[默认端口4040]

[root@Proxy mysql-proxy]# netstat -antup|grep 4040

tcp        0      0 0.0.0.0:4040                0.0.0.0:*                  LISTEN      1326/mysql-proxy


6)客户端测试连接[Proxy IP 地址]

[root@slave ~]# mysql -uuser -p -h192.168.1.12 --port=4040

Enter password:

Welcome to the MySQL monitor. Commands end with ; or /g.

Your MySQL connection id is 5

Server version: 5.5.25-log Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.

mysql> show databases;

+--------------------+

| Database          |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test              |

| user              |

+--------------------+

[root@Proxy mysql-proxy]# killall mysql-proxy

[root@Proxy mysql-proxy]# netstat -antup |grep 4040

[root@Proxy mysql-proxy]# cd /usr/local/mysql-proxy

[root@Proxy mysql-proxy]# cp lib/mysql-proxy/lua/admin.lua share/doc/mysql-proxy/

——启动mysql-proxy

[root@Proxy mysql-proxy]# mysql-proxy --daemon --log-level=debug /

--log-file=/var/log/mysql-proxy.log --plugins="proxy" /

--proxy-backend-addresses="192.168.1.10:3306"

--proxy-read-only-backend-addresses="192.168.1.11:3306" /

--proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" /

--plugins=admin --admin-username="admin" /

--admin-password="admin" /

--admin-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua"

[root@Proxy mysql-proxy]# mysql-proxy --daemon --log-level=debug /

--log-file=/var/log/mysql-proxy.log --plugins="proxy" /

--proxy-backend-addresses="192.168.1.252:3306"

--proxy-read-only-backend-addresses="192.168.1.254:3306" /

--proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" /

--plugins=admin --admin-username="admin" /

--admin-password="admin" /

--admin-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua"

客户端执行

[root@node1 /]# mysql -uuser -p12345 -h192.168.1.10 --port=4040 -e "select user from mysql.user;"

[root@node2 /]# mysql -uuser -p12345 -h192.168.1.11 --port=4040 -e "create database user1;"


10)优化配置启动脚本,并修连接端口

[root@Proxy mysql-proxy]# vi /etc/sysconfig/mysql-proxy

ADMIN_USER="admin"

ADMIN_PASSWORD="admin"

ADMIN_ADDRESS=""

ADMIN_LUA_SCRIPT="/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua"

PROXY_ADDRESS="0.0.0.0:3306"

PROXY_USER="mysql-proxy"

PROXY_OPTIONS="--daemon --log-level=info --log-file="/var/log/mysql-proxy.log"

--plugins=proxy --plugins=admin --proxy-backend-addresses=192.168.1.12:3306

--proxy-read-only-backend-addresses=192.168.1.13:3306

--proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua"

[root@Proxy mysql-proxy]# vi /etc/init.d/mysql-proxy

#!/bin/bash

#

# mysql-proxy This script starts and stops the mysql-proxy daemon

#

# chkconfig: - 78 30

# processname: mysql-proxy

# description: mysql-proxy is a proxy daemon for mysql

# Source function library.

. /etc/rc.d/init.d/functions

prog="/usr/local/mysql-proxy/bin/mysql-proxy"

# Source networking configuration.

if [ -f /etc/sysconfig/network ]; then

. /etc/sysconfig/network

fi

# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

# Set default mysql-proxy configuration.

ADMIN_USER="admin"

ADMIN_PASSWD="admin"

ADMIN_LUA_SCRIPT="/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua"

PROXY_OPTIONS="--daemon"

PROXY_PID=/var/run/mysql-proxy.pid

PROXY_USER="mysql-proxy"

# Source mysql-proxy configuration.

if [ -f /etc/sysconfig/mysql-proxy ]; then

. /etc/sysconfig/mysql-proxy

fi

RETVAL=0

start() {

echo -n $"Starting $prog: "

daemon $prog $PROXY_OPTIONS --pid-file=$PROXY_PID

--proxy-address="$PROXY_ADDRESS" --user=$PROXY_USER

--admin-username="$ADMIN_USER" --admin-lua-script="$ADMIN_LUA_SCRIPT"

--admin-password="$ADMIN_PASSWORD"

RETVAL=$?

echo

if [ $RETVAL -eq 0 ]; then

touch /var/lock/subsys/mysql-proxy

fi

}

stop() {

echo -n $"Stopping $prog: "

killproc -p $PROXY_PID -d 3 $prog

RETVAL=$?

echo

if [ $RETVAL -eq 0 ]; then

rm -f /var/lock/subsys/mysql-proxy

rm -f $PROXY_PID

fi

}

# See how we were called.

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

condrestart|try-restart)

if status -p $PROXY_PIDFILE $prog >&/dev/null; then

stop

start

fi

;;

status)

status -p $PROXY_PID $prog

;;

*)

echo "Usage: $0 {start|stop|restart|reload|status|condrestart|try-restart}"

RETVAL=1

;;

esac

exit $RETVAL

MySQL Proxy 的详细介绍:请点这里
MySQL Proxy 的下载地址:请点这里

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
您可以使用哪些工具来监视MySQL性能?您可以使用哪些工具来监视MySQL性能?Apr 23, 2025 am 12:21 AM

如何有效监控MySQL性能?使用mysqladmin、SHOWGLOBALSTATUS、PerconaMonitoringandManagement(PMM)和MySQLEnterpriseMonitor等工具。1.使用mysqladmin查看连接数。2.用SHOWGLOBALSTATUS查看查询数。3.PMM提供详细性能数据和图形化界面。4.MySQLEnterpriseMonitor提供丰富的监控功能和报警机制。

MySQL与SQL Server有何不同?MySQL与SQL Server有何不同?Apr 23, 2025 am 12:20 AM

MySQL和SQLServer的区别在于:1)MySQL是开源的,适用于Web和嵌入式系统,2)SQLServer是微软的商业产品,适用于企业级应用。两者在存储引擎、性能优化和应用场景上有显着差异,选择时需考虑项目规模和未来扩展性。

在哪些情况下,您可以选择SQL Server而不是MySQL?在哪些情况下,您可以选择SQL Server而不是MySQL?Apr 23, 2025 am 12:20 AM

在需要高可用性、高级安全性和良好集成性的企业级应用场景下,应选择SQLServer而不是MySQL。1)SQLServer提供企业级功能,如高可用性和高级安全性。2)它与微软生态系统如VisualStudio和PowerBI紧密集成。3)SQLServer在性能优化方面表现出色,支持内存优化表和列存储索引。

MySQL如何处理角色集和碰撞?MySQL如何处理角色集和碰撞?Apr 23, 2025 am 12:19 AM

mySqlManagesCharacterSetsetSandCollat​​ionsyutusututf-8asthEdeFault,允许ConfigurationAtdataBase,table和columnlevels,AndrequiringCarefullageLignmentToavoidMismatches.1)setDefeaultCharactersetTercharactersetEtCollacterSeteTandColletationForAdataBase.2)conformentcollecharactersettersetertersetcollat​​ertersetcollat​​ioncollat​​ion

MySQL中有什么触发器?MySQL中有什么触发器?Apr 23, 2025 am 12:11 AM

MySQL触发器是与表相关联的自动执行的存储过程,用于在特定数据操作时执行一系列操作。1)触发器定义与作用:用于数据校验、日志记录等。2)工作原理:分为BEFORE和AFTER,支持行级触发。3)使用示例:可用于记录薪资变更或更新库存。4)调试技巧:使用SHOWTRIGGERS和SHOWCREATETRIGGER命令。5)性能优化:避免复杂操作,使用索引,管理事务。

您如何在MySQL中创建和管理用户帐户?您如何在MySQL中创建和管理用户帐户?Apr 22, 2025 pm 06:05 PM

在MySQL中创建和管理用户账户的步骤如下:1.创建用户:使用CREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';2.分配权限:使用GRANTSELECT,INSERT,UPDATEONmydatabase.TO'newuser'@'localhost';3.修正权限错误:使用REVOKEALLPRIVILEGESONmydatabase.FROM'newuser'@'localhost';然后重新分配权限;4.优化权限:使用SHOWGRA

MySQL与Oracle有何不同?MySQL与Oracle有何不同?Apr 22, 2025 pm 05:57 PM

MySQL适合快速开发和中小型应用,Oracle适合大型企业和高可用性需求。1)MySQL开源、易用,适用于Web应用和中小型企业。2)Oracle功能强大,适合大型企业和政府机构。3)MySQL支持多种存储引擎,Oracle提供丰富的企业级功能。

与其他关系数据库相比,使用MySQL的缺点是什么?与其他关系数据库相比,使用MySQL的缺点是什么?Apr 22, 2025 pm 05:49 PM

MySQL相比其他关系型数据库的劣势包括:1.性能问题:在处理大规模数据时可能遇到瓶颈,PostgreSQL在复杂查询和大数据处理上表现更优。2.扩展性:水平扩展能力不如GoogleSpanner和AmazonAurora。3.功能限制:在高级功能上不如PostgreSQL和Oracle,某些功能需要更多自定义代码和维护。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版