50 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			MySQL
		
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			MySQL
		
	
	
	
| 
								 | 
							
								-- Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
							 | 
						||
| 
								 | 
							
								-- Use is subject to license terms.
							 | 
						||
| 
								 | 
							
								-- 
							 | 
						||
| 
								 | 
							
								-- This program is free software; you can redistribute it and/or modify
							 | 
						||
| 
								 | 
							
								-- it under the terms of the GNU General Public License as published by
							 | 
						||
| 
								 | 
							
								-- the Free Software Foundation; version 2 of the License.
							 | 
						||
| 
								 | 
							
								-- 
							 | 
						||
| 
								 | 
							
								-- This program is distributed in the hope that it will be useful,
							 | 
						||
| 
								 | 
							
								-- but WITHOUT ANY WARRANTY; without even the implied warranty of
							 | 
						||
| 
								 | 
							
								-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
							 | 
						||
| 
								 | 
							
								-- GNU General Public License for more details.
							 | 
						||
| 
								 | 
							
								-- 
							 | 
						||
| 
								 | 
							
								-- You should have received a copy of the GNU General Public License
							 | 
						||
| 
								 | 
							
								-- along with this program; if not, write to the Free Software
							 | 
						||
| 
								 | 
							
								-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--
							 | 
						||
| 
								 | 
							
								-- The inital data for system tables of MySQL Server
							 | 
						||
| 
								 | 
							
								--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- When setting up a "cross bootstrap" database (e.g., creating data on a Unix
							 | 
						||
| 
								 | 
							
								-- host which will later be included in a Windows zip file), any lines
							 | 
						||
| 
								 | 
							
								-- containing "@current_hostname" are filtered out by mysql_install_db.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- Get the hostname, if the hostname has any wildcard character like "_" or "%" 
							 | 
						||
| 
								 | 
							
								-- add escape character in front of wildcard character to convert "_" or "%" to
							 | 
						||
| 
								 | 
							
								-- a plain character
							 | 
						||
| 
								 | 
							
								SELECT LOWER( REPLACE((SELECT REPLACE(@@hostname,'_','\_')),'%','\%') )INTO @current_hostname;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- Fill "db" table with default grants for anyone to
							 | 
						||
| 
								 | 
							
								-- access database 'test' and 'test_%' if "db" table didn't exist
							 | 
						||
| 
								 | 
							
								CREATE TEMPORARY TABLE tmp_db LIKE db;
							 | 
						||
| 
								 | 
							
								INSERT INTO tmp_db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y');
							 | 
						||
| 
								 | 
							
								INSERT INTO tmp_db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y');
							 | 
						||
| 
								 | 
							
								INSERT INTO db SELECT * FROM tmp_db WHERE @had_db_table=0;
							 | 
						||
| 
								 | 
							
								DROP TABLE tmp_db;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- Fill "user" table with default users allowing root access
							 | 
						||
| 
								 | 
							
								-- from local machine if "user" table didn't exist before
							 | 
						||
| 
								 | 
							
								CREATE TEMPORARY TABLE tmp_user LIKE user;
							 | 
						||
| 
								 | 
							
								INSERT INTO tmp_user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
							 | 
						||
| 
								 | 
							
								REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0 FROM dual WHERE @current_hostname != 'localhost';
							 | 
						||
| 
								 | 
							
								REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
							 | 
						||
| 
								 | 
							
								INSERT INTO tmp_user (host,user) VALUES ('localhost','');
							 | 
						||
| 
								 | 
							
								INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE @current_hostname != 'localhost';
							 | 
						||
| 
								 | 
							
								INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0;
							 | 
						||
| 
								 | 
							
								DROP TABLE tmp_user;
							 |